home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / program / gmp202.zip / ChangeLog < prev    next >
Text File  |  1996-06-06  |  99KB  |  3,194 lines

  1. Thu Jun  6 19:00:53 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  2.  
  3.     * Version 2.0.2 released.
  4.  
  5.     * install.sh: New file.
  6.     * Makefile.in (INSTALL): Use install.sh.
  7.     (install-normal): New name for target `install'.
  8.     (install): New dummy target.
  9.  
  10.     * mpz/pow_ui.c: Swap tests for (e == 0) and (bsize == 0).
  11.     * mpz/ui_pow_ui.c: Swap tests for (e == 0) and (blimb == 0).
  12.  
  13.     * config/mt-linux (AR_FLAGS): New file.
  14.     * configure.in: Use config/mt-linux for all linux systems.
  15.  
  16. Tue Jun  4 03:42:18 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  17.  
  18.     * Version 2.0.1 released.
  19.  
  20.     * mpf/tests/ref.c: Cast result of TMP_ALLOC to the right pointer type.
  21.  
  22.     * extract-double.c: Test _GMP_IEEE_FLOATS with #if, not plain if.
  23.  
  24.     * insert-double.c: Don't #include stdlib.h.
  25.  
  26.     * gmp-impl.h (union ieee_double_extract): Test sparc and __sparc.
  27.     Do not test __sparc__.
  28.  
  29.     * mpf/reldiff.c: Change declaration to work around irix5 compiler bug.
  30.     * mpq/equal.c: Likewise.
  31.  
  32.     * mpn/generic/gcd.c: Delete spurious comma at end of enumeration.
  33.  
  34.     * mpn/generic/gcdext.c: Add K&R declaration syntax.
  35.     * stack-alloc.h: Likewise.
  36.     * insert-double.c: Likewise.
  37.     * extract-double.c: Likewise.
  38.     * mpf/tests/reuse.c: Likewise.
  39.     * mpz/tests/reuse.c: Likewise.
  40.     * mpf/tests/t-sub.c: Likewise.
  41.     * mpf/tests/t-add.c: Likewise.
  42.     * mpf/tests/t-muldiv.c: Likewise.
  43.     * mpf/tests/t-conv.c: Likewise.
  44.     * mpf/tests/ref.c: Likewise.
  45.  
  46.     * mpn/config/t-oldgas: Renamed from t-freebsd.
  47.     * mpn/configure.in: Use t-oldgas for freebsd, netbsd, and some linux
  48.     configurations.
  49.  
  50.     * mpn/powerpc32/mul_1.s: Really clear cy before entering loop.
  51.     * mpn/powerpc32/*.s: Fix power/powerpc syntax issues.
  52.  
  53.     * mpn/config/t-ppc-aix: New file.
  54.     * mpn/configure.in: Use t-ppc-aix for powerpc like t-pwr-aix for power.
  55.  
  56. Wed May 29 02:07:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  57.  
  58.     * gmp.h (mp_bits_per_limb): Change qualifier from `const' to
  59.     __gmp_const.
  60.  
  61.     * gmp.h (mpf_init_set_str): Add `const' qualifier for 2nd parameter.
  62.     * mpf/iset_str.c: Likewise.
  63.  
  64. Mon May 27 00:15:58 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  65.  
  66.     * gmp-impl.h: Declare __gmp_extract_double.
  67.  
  68.     * mpz/set_q.c: Delete unused variables.
  69.  
  70.     * gmp.h (mpq_equal): Declare.
  71.  
  72.     * mpf/eq.c: mpf_cmp2 -> mpf_eq.
  73.  
  74. Fri May 24 03:20:44 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  75.  
  76.     * mpz/iset_d.c: Don't include <math.h>.
  77.  
  78.     * insert-double.c (__gmp_scale2): New name for scal2.
  79.     * mpz/get_d.c: Corresponding change.
  80.     * mpf/get_d.c: Likewise.
  81.     * mpq/get_d.c: Likewise.
  82.     * gmp-impl.h: Declare __gmp_scale2.
  83.  
  84.     * mpn/generic/scan0.c: Clarify comment.
  85.  
  86.     * mpz/set_q.c: New file.
  87.     * Makefile.in: Compile it.
  88.     * make.bat: Likewise.
  89.     * gmp.h: Declare mpz_set_q.
  90.  
  91.     * insert-double.c: New file.
  92.     * Makefile.in: Compile it.
  93.     * make.bat: Likewise.
  94.  
  95.     * mpz/get_d.c: New file.
  96.     * mpz/Makefile.in: Compile it.
  97.     * make.bat: Likewise.
  98.     * gmp.h: Declare mpz_get_d.
  99.  
  100.     * mpf/get_d.c: New file.
  101.     * mpf/Makefile.in: Compile it.
  102.     * make.bat: Likewise.
  103.     * gmp.h: Declare mpf_get_d.
  104.  
  105.     * make.bat: Compile things in alphabetical order.
  106.  
  107.     * gmp-impl.h (MP_BASE_AS_DOUBLE): New #define.
  108.     (LIMBS_PER_DOUBLE): New #define.
  109.  
  110.     * extract-double.c: New file.
  111.     * Makefile.in: Compile it.
  112.     * make.bat: Likewise.
  113.     * mpz/set_d.c: Rewrite to use __gmp_extract_double.
  114.     * mpf/set_d.c: Likewise.
  115.  
  116.     * mpn/configure.in: Use t-pwr-aix also for aix 3.2.4 and up.
  117.  
  118. Wed May 22 02:48:35 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  119.  
  120.     * gmp-impl.h: Rework code for defining ieee_double_extract.
  121.     (IEEE_DOUBLE_BIG_ENDIAN): Macro removed.
  122.     (_GMP_IEEE_FLOATS): New macro.
  123.     * mpn/vax/gmp-mparam.h: Delete.
  124.  
  125.     * mpn/config/t-pwr-aix: New file.
  126.     * mpn/configure.in: Use t-pwr-aix for aix 4 and later.
  127.  
  128. Mon May 20 16:30:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  129.  
  130.     * gmp.h: In code for setting _GMP_H_HAVE_FILE, test more symbols.
  131.  
  132.     * mpf/tests/t-add.c (oo): Add some `l' printf modifiers.
  133.     * mpf/tests/t-sub.c (oo): Likewise.
  134.     * mpf/tests/t-conv.c (oo): Likewise.
  135.     * mpf/tests/t-sqrt.c (oo): Likewise.
  136.  
  137.     * mpz/tests/t-mul.c (_mpn_mul_classic): Remove unused variables.
  138.  
  139.     * mpn/{pyr,i960,clipper}/*.s: Add missing copyright headers.
  140.  
  141. Fri May 17 02:24:43 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  142.  
  143.     * mpz/set_d.c: Call _mpz_realloc.
  144.  
  145.     * mpq/set_z.c: New file.
  146.     * mpq/Makefile.in: Compile it.
  147.     * make.bat: Likewise.
  148.     * gmp.h: Declare mpq_set_z.
  149.  
  150.     * mp?/Makefile.in (libmp?.a): Depend on Makefile, not Makefile.in.
  151.     * mpf/Makefile.in (test): Delete spurious target.
  152.     * mpq/Makefile.in (test): Likewise.
  153.  
  154.     * mpf/out_str.c: Use `e' to separate exponent when base <= 10.
  155.  
  156.     * mpn/configure.in: Treat ultrasparc just like sparc v8,
  157.     until 64-bit compilers are ready.
  158.  
  159.     * mpf/set_d.c: Make it work for 64-bit machines.
  160.  
  161. Thu May 16 20:53:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  162.  
  163.     * gmp-impl.h: Set IEEE_DOUBLE_BIG_ENDIAN to 0 for little-endian
  164.     machines.
  165.     * mpn/x86/gmp-mparam.h: Delete file.
  166.  
  167.     * configure.in: Treat microsparc like sparc8.
  168.  
  169.     * urandom.h: Test __alpha instead of __alpha__, since the former
  170.     is the standard symbol.
  171.     * mpn/generic/random2.c: Likewise.
  172.     * mpf/random2.c: Likewise.
  173.  
  174. Tue May 14 13:42:39 1996  Torbjorn Granlund  (tege@tiny.tmg.se)
  175.  
  176.     * mpz/set_f.c: New file.
  177.     * mpz/Makefile.in: Compile it.
  178.     * gmp.h: Declare mpz_set_f.
  179.  
  180.     * mpf/set_q.c: Simplify expression in rsize == nsize if-then-else arms.
  181.  
  182. Tue May 14 13:03:07 1996  Torbjorn Granlund  (tege@tiny.tmg.se)
  183.  
  184.     * make.bat: Add all new files.
  185.  
  186. Sun May 12 22:24:36 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  187.  
  188.     * mpf/set_z.c: New file.
  189.     * mpf/Makefile.in: Compile it.
  190.     * gmp.h: Declare mpf_set_z.
  191.  
  192. Sat May 11 19:26:25 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  193.  
  194.     * gmp.h: Declare mpf_set_q.
  195.  
  196.     * mpf/set_q.c: Compute prec-1 limbs in mpn_divrem call.
  197.  
  198. Fri May 10 17:37:38 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  199.  
  200.     * mpf/set_q.c: New file.
  201.     * mpf/Makefile.in: Compile it.
  202.  
  203.     * config.sub: Recognize sparc8.
  204.  
  205. Wed May  8 09:19:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  206.  
  207.     * mpf/tests/t-dm2exp.c: New file.
  208.  
  209.     * mpf/tests/t-add.c: Correct header comment.
  210.     * mpf/tests/t-sub.c: Likewise.
  211.     * mpf/tests/t-sqrt.c: Likewise.
  212.  
  213.     * mpf/div.c: Misc variable name cleanups.
  214.     * mpf/div_ui.c: Base more closely on mpf/div.c.
  215.     * mpf/ui_div.c: Likewise.
  216.  
  217.     * mpz/tests/Makefile.in (check): Depend on Makefile.
  218.     * mpq/tests/Makefile.in (check): Likewise.
  219.     * mpf/tests/Makefile.in (check): Likewise.
  220.  
  221.     * mpf/tests/t-muldiv.c: New file.
  222.     * mpf/tests/Makefile.in: Compile and run `t-muldiv'.
  223.     (t-ref.o): Delete spurious rule.
  224.  
  225.     * mpf/sqrt.c: Properly detect negative input operand.
  226.  
  227.     * mpf/sqrt_ui.c: Delete spurious header comment.
  228.     * mpf/sqrt.c: Likewise.
  229.     * mpz/sqrt.c: Likewise.
  230.  
  231.     * mpz/tests/reuse.c (main): Read `reps' from command line.
  232.  
  233.     * mpf/tests/reuse.c: New file.
  234.     * mpf/tests/Makefile.in: Compile and run `reuse'.
  235.  
  236.     * mpf/mul_ui.c: Disable code for removing low zero limbs.
  237.  
  238.     * mpf/div.c: Fix condition for when vp and qp overlaps.
  239.  
  240.     * mpf/add_ui.c: When sum equals u, copy up to prec+1 limbs.
  241.  
  242.     * mpf/out_str.c: Don't output '\n' after exponent.
  243.  
  244.     * mpf/add_ui.c: New special case for when U is completely cancelled.
  245.  
  246. Wed Apr 24 05:33:28 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  247.  
  248.     * Version 2.0 released.
  249.  
  250.     * All files: Upfate FSF's address.
  251.  
  252.     * Makefile.in (gmp_toc.html): New name for gmp.html.
  253.     (TAGS): Depend on force.
  254.  
  255.     * mpf/tests/t-conv.c: Pass -base to mpf_set_str.
  256.  
  257. Sat Apr 20 03:54:06 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  258.  
  259.     * Makefile.in (ps): New target, depend on gmp.ps.
  260.  
  261. Fri Apr 19 14:03:15 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  262.  
  263.     * mpf/out_str.c: Print `@' before exponent, not `e'.
  264.  
  265.     * make.bat: Update from Makefiles.
  266.  
  267. Thu Apr 18 01:22:05 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  268.  
  269.     * mpf/set_str.c: If parameter `base' is negative, expect exponent
  270.     to be decimal, otherwise in the same base as the mantissa.
  271.  
  272. Wed Apr 17 17:28:36 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  273.  
  274.     * mpf/set_dfl_prec.c: Don't return anything.
  275.     * gmp.h: Corresponding changes.
  276.  
  277.     * mpf/set_dfl_prec.c: Use `unsigned long int' for bit counts.
  278.     * mpf/init2.c: Likewise.
  279.     * mpf/get_prc.c: Likewise.
  280.     * mpf/set_prc.c: Likewise.
  281.     * mpf/set_prc_raw.c: Likewise.
  282.     * mpz/popcount.c: Likewise.
  283.     * mpz/hamdist.c: Likewise.
  284.     * mpz/scan1.c: Likewise.
  285.     * mpz/scan0.c: Likewise.
  286.     * mpn/generic/popcount.c: Likewise.
  287.     * mpn/generic/hamdist.c: Likewise.
  288.     * mpn/generic/scan1.c: Likewise.
  289.     * mpn/generic/scan0.c: Likewise.
  290.     * gmp.h: Likewise.
  291.  
  292.     * mpf/eq.c: New file, based on mpf/diff.c.
  293.     * mpf/diff.c: Delete.
  294.     * mpf/Makefile.in: Corresponding changes.
  295.     * gmp.h: Likewise.
  296.  
  297.     * mpf/reldiff.c: New file.
  298.     * mpf/Makefile.in: Compile it.
  299.     * gmp.h: Declare mpf_reldiff.
  300.  
  301.     * mpz/iset_d.c: New file.
  302.     * mpz/Makefile.in: Compile it.
  303.     * gmp.h: Declare mpz_init_set_d.
  304.  
  305. Tue Apr 16 16:28:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  306.  
  307.     * Makefile.in (gmp.html): Pass -acc to texi2html.
  308.  
  309. Mon Apr 15 16:20:24 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  310.  
  311.     * mpf/set_str.c: Switch off code for defaulting the base from the
  312.     leading characters.
  313.  
  314.     * gmp.h (mp?_sign): Delete.
  315.     (mp?_sgn): New macros.
  316.  
  317. Fri Apr 12 17:23:33 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  318.  
  319.     * Makefile.in (gmp.dvi): Delete tmp.* at end of rule.
  320.  
  321. Wed Apr 10 22:52:02 1996  Torbjorn Granlund  (tege@tiny.tmg.se)
  322.  
  323.     * mpf/random2.c: Change of `exp' param, mp_size_t => mp_exp_t.
  324.     * gmp.h: Corresponding change.
  325.  
  326.     * gmp.h (mp_bits_per_limb): Make it const.
  327.  
  328. Sat Mar 30 01:20:23 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  329.  
  330.     * configure.in: Re-enable recognition of with_gcc.
  331.  
  332.     * mpf/Makefile.in (.c.o): Pass XCFLAGS.
  333.     * mpn/Makefile.in (.c.o): Likewise.
  334.     * mpz/Makefile.in (.c.o): Likewise.
  335.     * mpq/Makefile.in (.c.o): Likewise.
  336.     * mpbsd/Makefile.in (.c.o): Likewise.
  337.     * mpf/tests/Makefile.in (.c.o): Likewise.
  338.     * mpz/tests/Makefile.in (.c.o): Likewise.
  339.     * mpq/tests/Makefile.in (.c.o): Likewise.
  340.  
  341.     * Makefile.in (XCFLAGS): Default to empty.
  342.     (FLAGS_TO_PASS): Pass on XCFLAGS.
  343.     (.c.o): Pass XCFLAGS.
  344.  
  345.     * config/mt-m88110 (XCFLAGS): Define instead of CC.
  346.     * config/mt-sprc8-gcc (XCFLAGS): Likewise.
  347.     * config/mt-supspc-gcc (XCFLAGS): Likewise.
  348.  
  349.     * configure: Don't default CC to "gcc -O2" is -with-gcc=no was
  350.     specified.
  351.  
  352. Mon Mar 25 01:07:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  353.  
  354.     * urandom.h: Test for __SVR4 in addition to __svr4__.
  355.  
  356.     * mp_bpl.c (mp_bits_per_limb): Declare as `const'.
  357.  
  358.     * Makefile.in (CFLAGS): `-O2' => `-O'.
  359.     * mpn/Makefile.in (CFLAGS): Likewise.
  360.  
  361.     * gmp-impl.h: Get rid of obsolete field access macros.
  362.  
  363.     * mpn/mp_bases.c (__mp_bases): 1e39 => 1e38 to work around Solaris
  364.     cc compiler bug.
  365.  
  366.     * gmp.h (__MPN): Make it work also for non-ANSI compilers.
  367.  
  368. Thu Mar 21 01:07:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  369.  
  370.     * mpf/sub.c: New special case for ediff <= 1 before generic code.
  371.     Simplify generic code for ediff == 0.
  372.     Rename uexp => exp.
  373.  
  374. Mon Mar 11 18:24:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  375.  
  376.     * mpf/tests/*.c: Use ref_mpf_sub for error calculation.
  377.     * mpf/tests/Makefile.in: Link ref.o to all executables.
  378.  
  379.     * mpf/tests/t-sub.c: Make u = v + 1 with 50% probability.
  380.  
  381. Sun Mar 10 21:03:17 1996  Torbjorn Granlund  (tege@tiny.tmg.se)
  382.  
  383.     * mpf/get_str.c: In digit development loop for fractions, change
  384.     loop condition from `<' to `<='.
  385.  
  386. Thu Mar  7 04:58:11 1996  Torbjorn Granlund  <tege@tiny.tmg.se>
  387.  
  388.     * mpn/mp_bases.c (__mp_bases): 1e100 => 1e39 to avoid overflow warning.
  389.  
  390. Wed Mar  6 01:10:42 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  391.  
  392.     * mpf/tests/t-sqrt.c: New file.
  393.     * mpf/tests/Makefile.in: Corresponding changes.
  394.  
  395.     * mpf/sqrt.c: Special case for square root of zero.
  396.  
  397.     * mpq/add.c: Clean up variable names.
  398.     * mpq/sub.c: Update from mpq/add.c.
  399.  
  400.     * mpz/divexact.c: abs => ABS.
  401.     * mpz/gcd.c: Likewise.  Rewrite final fixup code, to decrease
  402.     allocation.  Misc cleanups.
  403.  
  404. Tue Mar  5 22:24:56 1996  Torbjorn Granlund  <tege@tmg.se>
  405.  
  406.     * mpn/configure.in: Recognize linuxoldld as a synonym for linuxaout.
  407.  
  408.     * gmp.h (mpn_add, mpn_add_1, mpn_sub, mpn_sub_1): Add prototypes.
  409.  
  410.     * mpn/configure.in: Use t-freebsd also for netbsd.
  411.  
  412. Mon Mar  4 15:13:28 1996  Torbjorn Granlund  <tege@tmg.se>
  413.  
  414.     * mpq/Makefile.in (cmp.o): Depend on longlong.h.
  415.  
  416.     * mpq/equal.c: New file.
  417.     * mpq/Makefile.in: Corresponding changes.
  418.  
  419.     * mpf/tests/t-add.c: New file.
  420.     * mpf/tests/t-sub.c: Renamed from t-addsub.c.
  421.     * mpf/tests/ref.c: New file.
  422.     * mpf/tests/Makefile.in: Corresponding changes.
  423.  
  424.     * gmp-impl.h (SIZ, ABSIZ, PTR, EXP, PREC, ALLOC): New #defines.
  425.  
  426. Sun Mar  3 07:45:46 1996  Torbjorn Granlund  <tege@tmg.se>
  427.  
  428.     * mpf/set_str.c: In exponentialization code, allocate 3 extra
  429.     limbs, not just 2.
  430.  
  431.     * mpf/get_str.c: Allocate sufficient space for tstr.
  432.     When calculating exp_in_base, round result down.
  433.  
  434.     * mpf/tests/t-conv.c: New file.
  435.     * mpf/tests/Makefile.in: Corresponding changes.
  436.  
  437.     * mp_bpl.c: New file.
  438.     * gmp.h: Declare it.
  439.     * Makefile.in: Corresponding changes.
  440.  
  441. Sat Mar  2 06:27:56 1996  Torbjorn Granlund  <tege@tmg.se>
  442.  
  443.     * mpf/set_prc_raw.c: New file.
  444.     * mpf/set_prc.c: Renamed from set_prec.c.
  445.     * mpf/get_prc.c: New file.
  446.     * mpf/Makefile.in: Corresponding changes.
  447.     * gmp.h: Declare new functions.
  448.  
  449.     * mpn/generic/gcdext.c: Add copyright header.
  450.  
  451. Fri Mar  1 01:22:24 1996  Torbjorn Granlund  <tege@tmg.se>
  452.  
  453.     * mpn/configure.in: For ppc601, search "power" before "powerpc32".
  454.  
  455.     * mp?/Makefile.in (AR_FLAGS): New variable.
  456.     (libmp?.a): Use it.
  457.  
  458.     * make.bat: New file.
  459.     * mpn/msdos: New directory.
  460.     * mpn/msdos/asm-syntax.h: New file.
  461.  
  462.     * mpn/Makefile.in (distclean maintainer-clean): Delete asm-syntax.h.
  463.  
  464.     * config.sub: Recognize [ctj]90-cray.
  465.  
  466.     * mpn/configure.in: Recognize [ctj]90-cray-unicos*.
  467.  
  468.     * mpn/generic/gcdext.c: Don't use alloca directly, use TMP_* macros.
  469.  
  470.     * mpn/generic/gcd.c: Split increment from use of USIZE to avoid
  471.     undefined behaviour.
  472.  
  473. Thu Feb 29 04:11:24 1996  Torbjorn Granlund  <tege@tmg.se>
  474.  
  475.     * Makefile.in (install-info-files): Update for new install-info
  476.     behaviour.
  477.  
  478.     * mpn/power/add_n.s: Rewrite.
  479.     * mpn/power/sub_n.s: Rewrite.
  480.  
  481. Wed Feb 28 01:34:30 1996  Torbjorn Granlund  <tege@tmg.se>
  482.  
  483.     * mpz/pow_ui.c: Compute allocation more aggressively for small bases.
  484.     * mpz/ui_pow_ui.c: Likewise.
  485.  
  486.     * mpn/mp_bases.c (__mp_bases): Put huge value in 2nd field for index 1.
  487.  
  488.     * mpn/generic/sqrtrem.c: sizeof (mp_limb_t) => BYTES_PER_MP_LIMB.
  489.     * mpn/generic/gcd.c: Likewise.
  490.     (SIGN_BIT): Compute differently.
  491.  
  492. Mon Feb 26 00:07:36 1996  Torbjorn Granlund  <tege@tmg.se>
  493.  
  494.     * All files: mp_limb => mp_limb_t, mp_limb_signed => mp_limb_signed_t.
  495.  
  496.     * Makefile.in (install, install-bsdmp, install-info-files): Depend
  497.     on installdirs.  chmod all installed files.
  498.  
  499. Sun Feb 25 01:47:41 1996  Torbjorn Granlund  <tege@tmg.se>
  500.  
  501.     * mpbsd/configure.in: Delete debugging code.
  502.  
  503.     * All Makefile.in: Update clean targets.
  504.  
  505.     * Makefile.in (AR_FLAGS): New variable.
  506.     (libgmp.a): Use it.
  507.     (libmp.a): Likewise.
  508.  
  509.     * VERSION: Delete file.
  510.  
  511.     * Makefile.in (installdirs): New target.
  512.     * mkinstalldirs: New file (from the texinfo package).
  513.  
  514.     * Makefile.in (INSTALL, INSTALL_DATA, INSTALL_PROGRAM): New variables.
  515.     (MAKEINFO, MAKEINFOFLAGS, TEXI2DVI): New variables.
  516.     (install-info): New target.
  517.     (install, install-bsdmp): Depend on install-info.
  518.     ($(srcdir)/gmp.info): Changed from plain gmp.info; put info files
  519.     into source directory.
  520.     (distclean, mostlyclean): New targets.
  521.     (maintainer-clean): New name for realclean.
  522.     (uninstall): New target.
  523.     (TAGS): New target.
  524.     (info, dvi): New targets.
  525.     (.PHONY): Assign.
  526.  
  527.     * Makefile.in (install, install-bsdmp): Use INSTALL_DATA.
  528.  
  529.     * mp{n,z,f,bsd}/move-if-change: Delete.
  530.  
  531.     * mpbsd/Makefile.in (stamp-stddefh): Delete target.
  532.  
  533.     * Makefile.in (.c.o): Pass CFLAGS last.
  534.     * mpbsd/Makefile.in (.c.o): Likewise.
  535.     * mpf/Makefile.in (.c.o): Likewise.
  536.     * mpq/Makefile.in (.c.o): Likewise.
  537.     * mpz/Makefile.in (.c.o): Likewise.
  538.     * mpn/Makefile.in (.c.o): Likewise.
  539.     (.S.o): Likewise.
  540.  
  541.     * memory.c: Change allocation error message.
  542.  
  543.     * Makefile.in (install): Prefix gmp.h with $(srcdir).
  544.     (install-bsdmp): Prefix mp.h with $(srcdir).
  545.  
  546.     * mp{n,z,f,bsd}/{configure,config.sub}: Delete.
  547.  
  548.     * Makefile.in (gmp.dvi): Set TEXINPUTS also for 2nd tex invocation
  549.     (install targets): Install gmp.info-N.
  550.  
  551. Sat Feb 24 03:36:52 1996  Torbjorn Granlund  <tege@tmg.se>
  552.  
  553.     * mpf/get_str.c: Fix typo.
  554.  
  555.     * mpz/legendre.c: Clarify expression with extra parens.
  556.  
  557.     * version.c (gmp_version): Not static.
  558.  
  559.     * mpf/iset_str.c: Properly return error code.
  560.  
  561.     * mpf/add.c: Delete unused variables.
  562.     * mpf/inp_str.c: Likewise.
  563.     * mpq/get_d.c: Likewise.
  564.  
  565.     * mpn/generic/dump.c: #include <stdio.h>.
  566.     * mpf/dump.c: Likewise.
  567.     * mpf/set_str.c: #include <ctype.h>.
  568.     (strtol): Declare.
  569.  
  570.     * gmp.h: mpn_sqrt => mpn_sqrtrem.
  571.  
  572.     * Makefile.in (clean, realclean): Clean in mpbsd.
  573.     (check): Test in mpf.
  574.  
  575.     * mpf/Makefile.in (clean): Clean in tests.
  576.     * mpq/Makefile.in (clean): Clean in tests.
  577.  
  578.     * mpf/tests/Makefile.in: New file.
  579.     * mpf/tests/configure.in: New file.
  580.     * mpf/tests/t-addsub.c: New file.
  581.  
  582.     * mpf/sub_ui.c: Simply call mpf_sub for now.
  583.  
  584.     * mpf/sub.c: Increase prec by 1.
  585.     * mpf/ui_sub.c: Likewise.
  586.  
  587. Fri Feb 23 00:59:54 1996  Torbjorn Granlund  <tege@tmg.se>
  588.  
  589.     * mpf/ui_sub.c: Fix typos.
  590.  
  591.     * mpf/get_str.c: When allocating space for tmp, allow for an extra
  592.     limb.  In code for fraction conversion, add special case for bases
  593.     that are a power of 2.
  594.  
  595.     * mpf/out_str.c: Output leading "0.".
  596.     Default base to 10, before computing string allocation.
  597.  
  598.     * mpf/get_str.c: Make variables for string size have type size_t.
  599.     * gmp.h: Corresponding change.
  600.  
  601.     * mpf/random2.c: Allow creation of prec+1 large mantissas.
  602.  
  603.     * mpf/add_ui.c: Don't abort if u < 0; special case for u <= 0.
  604.     Fix typo in MPN_COPY offset.
  605.     * mpf/sub_ui.c: Analogous changes.
  606.  
  607.     * mpf/set_prec.c: Rewrite.
  608.  
  609.     * mpf/init2.c: Compute precision as in set_prec.c.
  610.  
  611.     * mpf/div_2exp.c: Special case for u == 0.
  612.     * mpf/mul_2exp.c: Likewise.  Write r->_mp_size always.
  613.  
  614.     * mpf/sqrt_ui.c: mpn_sqrt => mpn_sqrtrem.
  615.     * mpf/sqrt.c: Likewise.  When computing new exponent, round quotient
  616.     towards -infinity.
  617.  
  618.     * mpf/add.c: Fix typos.
  619.     * mpf/sub.c: Fix typos.
  620.  
  621. Thu Feb 22 00:24:48 1996  Torbjorn Granlund  <tege@tmg.se>
  622.  
  623.     * mpz/Makefile.in (stamp-stddefh): Delete target.
  624.     (test): Delete target.
  625.     * Makefile.in (stamp-stddefh): Delete target.
  626.     (cre-stddefh.o): Delete target.
  627.     (gmp.dvi): Set TEXINPUTS before invoking tex.
  628.  
  629.     * cre-stddefh.c: Delete.
  630.  
  631.     * mpz/sqrt.c: Fix typo.
  632.  
  633.     * mpz/powm.c: Special case for mod == 0.
  634.     * mpz/powm_ui.c: Likewise.
  635.  
  636.     * mpz/get_si.c: Handle -0x80000000 correctly.
  637.  
  638.     * mpz/inp_str.c: Now retutns size_t.
  639.     Make it return number of bytes read or error indication.
  640.     * mpf/inp_str.c: Likewise.
  641.  
  642.     * mpz/out_raw.c: Replace by mpz/out_binary.c, with modifications.
  643.     * mpz/inp_raw.c: Rewrite, using mpz/inp_binary as a base.
  644.     * mpz/inp_binary.c: Delete.
  645.  
  646.     * mpn/Makefile.in (XCFLAGS): Remove variable.
  647.     (.c.o): Don't pass XCFLAGS.
  648.     (SFLAGS): Set to nothing.
  649.     (.S.o): Pass SFLAGS, not XCFLAGS.
  650.  
  651.     * mpn/config/t-freebsd (SFLAGS): New name for XCFLAGS.
  652.  
  653.     * mpf/out_str.c: Make return number of bytes written or error
  654.     indication.
  655.     * mpz/out_str.c: Likewise.
  656.     * gmp.h: Corresponding changes.
  657.  
  658.     * gmp.h (__mpz_struct): mp_size_t => int.
  659.     (__mpq_struct): Likewise.
  660.     (__mpf_struct): Likewise.
  661.     (mp_size_t): int => long int.
  662.  
  663.     * mpn/cray: New directory.
  664.     * mpn/cray/gmp-mparam.h: New file.
  665.     * mpn/configure.in: Recognize cray variants.
  666.  
  667.     * Makefile.in: Set defaults for prefix, libdir, etc.
  668.     (install): New target.
  669.     (install-bsdmp): New target.
  670.     (gmp.html): New target.
  671.  
  672.     * stack-alloc.c (__tmp_alloc): Cast void ptrs to char * in comparison.
  673.  
  674. Wed Feb 21 04:35:02 1996  Torbjorn Granlund  <tege@tmg.se>
  675.  
  676.     * gmp.h: Sort mpn declarations.
  677.     (mpn_gcdext): Add declaration.
  678.  
  679.     * mpn/generic/divrem_1.c: New file.
  680.     * mpn/Makefile.in (divrem_1.o): New rule.
  681.     * configure.in (functions): Add divrem_1.
  682.  
  683.     * mpn/generic/divmod.c: Delete file.
  684.     * mpn/configure.in (functions): Delete divmod.
  685.     * Makefile.in (divmod.o): Delete rule.
  686.     * gmp.h (mpn_divmod): New #define.
  687.  
  688.     * gmp.h (mpn_next_bit_set): Delete spurious declaration.
  689.  
  690.     * mpn/generic/divrem.c (default case): In code assigning
  691.     most_significant_q_limb, move reassignment of n0 into if statement.
  692.  
  693.     * gmp.h (mpf_inp_str): Fix typo.
  694.     (mpf_out_str): Make prototype match reality.
  695.     * mpf/inp_str.c: New file.
  696.     * mpf/out_str.c: New file.
  697.     * mpf/Makefile.in: Compile new files.
  698.  
  699.     * mpn/Makefile.in (dump.o): Fix dependency path.
  700.     (inlines.o): Likewise.
  701.  
  702.     * mpn/configure.in: Make m68060 be the same as m68000.  Clean up
  703.     m68k configs.
  704.  
  705. Tue Feb 20 01:35:11 1996  Torbjorn Granlund  <tege@tmg.se>
  706.  
  707.     * mpn/generic/sqrtrem.c: Renamed from sqrt.
  708.     * mpn/configure.in (functions): Corresponding change.
  709.     * mpn/Makefile.in: Likewise.
  710.     * mpz/sqrtrem.c: Likewise.
  711.     * mpz/sqrt.c: Likewise.
  712.     * mpn/generic/perfsqr.c: Likewise.
  713.  
  714.     * Makefile.in (clean): Also remove libmp.a.
  715.     Don't compile cre-conv-tab.c or mp_bases.c.
  716.     cre-conv-tab.c: Delete file.
  717.     (gmp.ps): New rule.
  718.  
  719.     * mpn/mp_bases.c: New file.
  720.     * mpn/Makefile.in: Compile mp_bases.c.
  721.  
  722.     * mpz/set_str.c: Skip initial whitespace.
  723.     * mpf/set_str.c: Likewise.
  724.     * mpbsd/xtom.c: Likewise.
  725.  
  726.     * gmp.h: Add missing mpz declarations.
  727.     Delete all formal parameter names from declarations.
  728.  
  729.     * mpn/Makefile.in: Add dependencies for .c files.
  730.  
  731.     * Makefile.in (check): Write recursive make calls separately, not as
  732.     a loop.
  733.     (FLAGS_TO_PASS): New variable.  Use it for most recursive makes.
  734.  
  735. Mon Feb 19 01:02:20 1996  Torbjorn Granlund  <tege@tmg.se>
  736.  
  737.     * mpn/Makefile.in (.S.o): Pipe cpp output to grep in order to delete
  738.     lines starting with #.
  739.     (CPP): Set to $(CC) -E to avoid gcc dependency.
  740.  
  741.     * mpn/m68k/syntax.h (moveql): Define to moveq for MIT_SYNTAX.
  742.  
  743.     * mpn/hppa/hppa1_1/pa7100/addmul_1.S: Fix typo in s1_ptr alignment
  744.     code.
  745.     * mpn/hppa/hppa1_1/pa7100/submul_1.S: Likewise.
  746.  
  747.     * gmp.h: Fix typos in #defines of recently added mpn functions.
  748.  
  749.     * mpz/inp_str.c: Skip all whitespace, not just plain space.
  750.     * mpbsd/min.c: Likewise.
  751.  
  752.     * mpn/configure.in (functions): Add gcdext.
  753.     * mpn/generic/gcdext.c: New file.
  754.  
  755.     * mpz/legendre.c: mpz_div_2exp => mpz_tdiv_q_2exp.
  756.  
  757.     * gmp.h: Surround mpn declarations with extern "C" { ... }.
  758.  
  759.     * Makefile.in (check): New target.
  760.  
  761.     * mpq/get_d.c: Update comments.  Use rsize instead of dsize + N_QLIMBS
  762.     when possible.  Add special case for nsize == 0.
  763.  
  764.     * gmp.h (mpq_get_d): Add declaration.
  765.     (mpq_canonicalize): Likewise.
  766.     (mpq_cmp_ui): Likewise.
  767.     (mpf_diff): Likewise.
  768.     (mpf_ui_sub): Likewise.
  769.     (mpf_set_prec): Likewise.
  770.     (mpf_random2): Likewise.
  771.  
  772.     * gmp.h (mpz_cmp_ui): New #define.
  773.     (mpz_cmp_si): New #define.
  774.     (mpq_cmp_ui): New #define.
  775.     (mpz_sign): New #define.
  776.     (mpq_sign): New #define.
  777.     (mpf_sign): New #define.
  778.     (mpq_numref): New #define.
  779.     (mpq_denref): New #define.
  780.  
  781.     * mpq/set_z.c: File deleted.
  782.     * mpq/Makefile.in: Corresponding changes.
  783.  
  784. Sun Feb 18 01:34:47 1996  Torbjorn Granlund  <tege@tmg.se>
  785.  
  786.     * mpbsd/sdiv.c: Use _mp_realloc, not _mpz_realloc.
  787.  
  788.     * mpz/inp_binary.c: Default stream to stdin.
  789.     * mpz/inp_str.c: Likewise.
  790.     * mpz/inp_raw.c: Likewise.
  791.     * mpz/out_binary.c: Default stream to stdout.
  792.     * mpz/out_raw.c: Likewise.
  793.     * mpz/out_str.c: Likewise.
  794.  
  795.     * mpbsd/realloc.c: New file.
  796.     * mpbsd/Makefile.in: Corresponding changes.
  797.  
  798.     * mpbsd/min.c: Rewrite (base on mpz/inp_str.c).
  799.     * mpbsd/mtox.c: Rewrite (base on mpz/get_str.c).
  800.  
  801.     * mpbsd/mout.c: Rewrite (base on mpz/out_str) but make it output
  802.     spaces in each 10th position.
  803.     * mpbsd/xtom.c: Rewrite (base on mpz/set_str).
  804.  
  805.     * mpq/tests/Makefile.in (st-cmp): New file.
  806.     * mpq/tests/configure.in (srcname): New file.
  807.  
  808.     * mpz/tests/configure.in (srcname): Fix typo.
  809.  
  810.     * mpq/cmp.c: Add check using number of significant bits, to avoid
  811.     general multiplication.
  812.  
  813. Sat Feb 17 11:58:30 1996  Torbjorn Granlund  <tege@tmg.se>
  814.  
  815.     * mpq/cmp_ui.c: Store cy_limb after the mpn_mul_1 calls.
  816.  
  817.     * mpq/tests: New directory.
  818.     * mpq/tests/t-cmp.c: New file.
  819.     * mpq/tests/t-cmp_ui.c: New file.
  820.  
  821.     * mpz/tests/dive.c (main): Generate zero numerator.
  822.     (get_random_size) : Delete.
  823.  
  824.     * mpz/divexact.c: Add special case for 0/x.
  825.  
  826.     * gmp.h (mpz_mod): Add declaration.
  827.  
  828. Fri Feb 16 18:18:39 1996  Andreas Schwab  <schwab@informatik.uni-dortmund.de>
  829.  
  830.     * mpn/m68k/*: Rewrite code not to use the INSN macros.
  831.     (L): New macro to properly prefix local labels for ELF.
  832.  
  833. Fri Feb 16 00:20:56 1996  Torbjorn Granlund  <tege@tmg.se>
  834.  
  835.     * gmp-impl.h (ieee_double_extract): Use plain `unsigned int' for
  836.     fields.
  837.     * mpn/generic/inlines.c (_FORCE_INLINES): New #define.  Delete
  838.     conditional __GNUC__.
  839.     * gmp.h (mpn_add, mpn_sub, mpn_add_1, mpn_sub_1):
  840.     Only define these if __GNUC__ || _FORCE_INLINES.
  841.     * mpf/random2.c: Add missing parameter in non-ANSI header.
  842.     * mpn/generic/gcd.c (SIGN_BIT): Do as #define to work around bug
  843.     in AIX compilers.
  844.     * mpq/get_d.c: #define N_QLIMBS.
  845.     * mpz/divexact.c: Obscure division by 0 to silent compiler warnings.
  846.     * stack-alloc.c: Cast void* pointer to char* before doing arithmetic
  847.     on it.
  848.  
  849.     * Makefile.in (mpbsd/libmpbsd.a): New rule.
  850.     * configure.in (configdirs): Add mpbsd.
  851.  
  852.     * gmp.h: Add declarations for a few missing mpn functions.
  853.  
  854.     * Makefile.in (libmp.a): New rule.
  855.  
  856.     * mpbsd/mdiv.c: #include "dmincl.c", not "mpz_dmincl.c"
  857.     * gmp.h: Move #define of __GNU_MP__ into the `#if __GNU_MP__' block.
  858.     * mp.h: Likewise.  Update typedefs from gmp.h.
  859.     * mpbsd/configure.in: New file.
  860.     * mpbsd/Makefile.in: New file.
  861.     * mpbsd/configure: Link to master configure.
  862.     * mpbsd/config.sub: Link to master config.sub.
  863.  
  864.     * Makefile.in: Set RANLIB_TEST.
  865.     * (libgmp.a): Use it.
  866.     * (libgmp.a): Do ranlib before moving the libgmp.a to the build
  867.     directory.
  868.     * mp?/Makefile.in: Don't use or set RANLIB.
  869.  
  870. Thu Feb 15 16:38:41 1996  Torbjorn Granlund  <tege@tmg.se>
  871.  
  872.     * mpz/add_ui.c: MP_INT => mpz_t.
  873.     * mpz/cmp_ui.c: Likewise.
  874.     * mpz/fac_ui.c: Likewise.
  875.     * mpz/inp_binary.c: Likewise.
  876.     * mpz/inp_raw.c: Likewise.
  877.     * mpz/legendre.c: Likewise.
  878.     * mpz/jacobi.c: Likewise.
  879.     * mpz/out_binary.c: Likewise.
  880.     * mpz/out_raw.c: Likewise.
  881.     * mpz/random2.c: Likewise.
  882.     * mpz/random.c: Likewise.
  883.     * mpz/realloc.c: Likewise.
  884.  
  885.     * mpz/legendre.c: __mpz_2factor(X) => mpz_scan1(X,0),
  886.     __mpz_odd_less1_2factor => mpz_scan1(X,1).
  887.     * mpz/ntsup.c: File deleted.
  888.     * mpz/Makefile.in: Corresponding changes.
  889.  
  890.     * mpz/pprime_p: Use mpz_scan1 to avoid looping.
  891.  
  892.     * mpz/fac_ui.c: Type of `k' and `p' is `unsigned long'.
  893.     * mpz/pprime_p.c: Pass long to *_ui functions.
  894.     * mpz/gcdext.c: Likewise.
  895.     * mpz/fdiv_r_2exp.c: Likewise.
  896.     * mpz/fac_ui.c: Likewise.
  897.  
  898.     * mpz/powm.c: Don't use mpn_rshift when mod_shift_cnt is 0.
  899.  
  900.     * mpz/tests/Makefile.in (st-sqrtrem): Fix typo.
  901.  
  902.     * mpz/cmp_ui.c: #undef mpz_cmp_ui.
  903.     * mpz/cmp_si.c: #undef mpz_cmp_si.
  904.     * gmp.h (mpz_cmp_ui): New #define.
  905.     (mpz_cmp_si): New #define.
  906.  
  907. Wed Feb 14 22:11:24 1996  Torbjorn Granlund  <tege@tmg.se>
  908.  
  909.     * gmp.h: Test __cplusplus in addition to __STDC__.
  910.     * gmp-impl.h: Likewise.
  911.  
  912.     * gmp.h: Surround declarations with extern "C" { ... }.
  913.  
  914. Tue Feb 13 15:20:45 1996  Torbjorn Granlund  <tege@tmg.se>
  915.  
  916.     * mpz/fdiv_r_2exp.c: Use MPN_NORMALIZE.
  917.     * mpz/tdiv_r_2exp.c: Likewise.
  918.  
  919.     * mpz/fdiv_r_2exp.c: New file.
  920.     * mpz/fdiv_q_2exp.c: New file.
  921.     * mpz/tdiv_r_2exp.c: Renamed from mpz/mod_2exp.c.
  922.     * mpz/tdiv_q_2exp.c: Renamed from mpz/div_2exp.c
  923.     * mpz/Makefile.in: Corresponding changes.
  924.  
  925.     * mpz/scan0.c,scan1.c: New files.
  926.     * mpz/Makefile.in: Compile them.
  927.  
  928.     * gmp.h (mpn_normal_size): Delete.
  929.  
  930.     * config.guess: Update from Cygnus version.
  931.  
  932.     * mpn/m68k/rshift.S: Use INSN2 macro for lea instructions.
  933.     * mpn/m68k/lshift.S: Likewise.
  934.  
  935.     * mpn/configure.in: Fix configuration for plain 68000.
  936.  
  937. Mon Feb 12 01:06:06 1996  Torbjorn Granlund  <tege@tmg.se>
  938.  
  939.     * mpz/tests/t-powm.c: Generate negative BASE operand.
  940.  
  941.     * mpz/powm.c: Make result always positive.
  942.  
  943. Sun Feb 11 01:44:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  944.  
  945.     * mpz/tests/*.c: Add t- prefix.
  946.     * mpz/tests/Makefile.in: Corresponding changes.
  947.     * mpz/tests/configure.in: Update srctrigger.
  948.  
  949.     * mpz/tests/gcd.c: Generate negative operands.
  950.     * mpz/tests/gcd2.c: Likewise.
  951.  
  952.     * mpz/gcdext.c: At end, if G is negative, negate all G, S, and T.
  953.  
  954. Thu Feb  8 17:16:12 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
  955.  
  956.     * mp{z,n}/gcd.c: Change mpn_gcd interface.
  957.     * gmp.h: Ditto.
  958.     * gmp.texi: update documentation.
  959.  
  960. Mon Feb  7 23:58:43 1996  Andreas Schwab  <schwab@informatik.uni-dortmund.de>
  961.  
  962.     * mpn/m68k/{lshift,rshift}.S: New files.
  963.     * mpn/m68k/syntax.h: New ELF_SYNTAX macros.
  964.     (MEM_INDX, R, PROLOG, EPILOG): New macros.
  965.     * mpn/m68k/*.S: Use R macro with register name.  Use PROLOG and EPILOG
  966.     macros.  Rename `size' to `s_size' or s1_size to avoid clash with ELF
  967.     .size directive.
  968.     * mpn/configure.in: New target m68k-*-linux*.
  969.  
  970. Wed Feb  7 07:41:31 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  971.  
  972.     * Makefile.in (cre-conv-tab): Workaround for SunOS make.
  973.  
  974.     * mpz/tests/reuse.c: New file.
  975.     * mpz/tests/Makefile.in: Handle reuse.c.
  976.  
  977. Tue Feb  6 11:56:24 UTC 1996 Ken Weber <kweber@mat.ufrgs.br>
  978.  
  979.     * mpz/gcd.c: Fix g->size when one op is 0 and g == other op.
  980.  
  981. Tue Feb  6 01:36:39 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  982.  
  983.     * gmp.h (mpz_divexact): Delete parameter names.
  984.     (mpz_lcm): Delete spurious declaration.
  985.  
  986.     * mpz/dmincl.c: Fix typo.
  987.  
  988. Mon Feb  5 01:11:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  989.  
  990.     * mpn/generic/gcd.c (gcd_2): Declare consistently.
  991.  
  992.     * mpz/tdiv_q.c: Optimize division by a single-limb divisor.
  993.     * mpz/dmincl.c: Likewise.
  994.  
  995.     * mpz/add.c: Use MPN_NORMALIZE instead of mpn_normal_size.
  996.     * mpz/sub.c: Likewise.
  997.     * mpn/generic/sqrt.c: Likewise.
  998.  
  999.     * mpn/tests/{add_n,sub_n,lshift,rshift}.c: Put garbage in the
  1000.     destination arrays.
  1001.  
  1002. Fri Feb  2 02:21:27 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1003.  
  1004.     * mpz/{jacobi.c,legendre.c,ntsup.c,invert.c}: New files.
  1005.     * mpz/Makefile.in: Compile them.
  1006.  
  1007.     * mpn/Makefile.in (INCLUDES): Don't search in `generic'.
  1008.  
  1009. Thu Feb  1 02:15:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1010.  
  1011.     Change from Ken Weber:
  1012.     * mpz/divexact.c: Make it work when quot is identical to either input.
  1013.  
  1014.     * mpf/ui_sub.c: New file.
  1015.     * mpf/Makefile.in: Compile it.
  1016.  
  1017.     * gmp-impl.h (MPZ_TMP_INIT): alloca -> TMP_ALLOC.
  1018.     * mpz/{c,f}div_{q,qr,r}.c: Use TMP_DECL/TMP_MARK/TMP_FREE since
  1019.     these use MPZ_TMP_INIT.
  1020.     * mpz/mod.c: Likewise.
  1021.     * mpq/{add,sub}.c: Likewise.
  1022.     * mpq/canonicalize: Likewise.
  1023.  
  1024.     * mpq/{add,sub,mul,div}.c: Use mpz_divexact. MP_INT -> mpz_t.
  1025.     * mpq/canonicalize.c: Likewise.
  1026.  
  1027. Wed Jan 31 01:45:00 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1028.  
  1029.     * mpn/generic/gcd.c: Misc changes from Ken.
  1030.  
  1031.     * mpz/tests/gcd2.c: New file.
  1032.     * mpz/tests/Makefile.in: Handle gcd2.c.
  1033.  
  1034.     * mpn/generic/gcd.c (mpn_gcd): When GCD == ORIG_V, return vsize,
  1035.     not orig_vsize.  Fix parameter declaration.
  1036.  
  1037.     * mpz/mod_ui.c: Delete file.
  1038.     * mpz/Makefile.in: Don't try to compile mod_ui.
  1039.  
  1040.     * mpz/cdiv_*_ui.c): Make them work right.
  1041.     * gmp.h: Declare cdiv*.
  1042.  
  1043. Tue Jan 30 02:22:56 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1044.  
  1045.     * mpz/{cdiv_q.c,cdiv_q_ui.c,cdiv_qr.c,cdiv_qr_ui.c,cdiv_r.c,
  1046.     cdiv_r_ui.c,cdiv_ui.c}: New files.
  1047.     * mpz/Makefile.in: Compile them.
  1048.  
  1049.     * All files: Make file permissions right.
  1050.  
  1051.     Changes from Ken Weber:
  1052.     * mpn/generic/accelgcd.c: Delete.
  1053.     * mpn/generic/bingcd.c: Delete.
  1054.     * mpn/generic/numbits.c: Delete.
  1055.     * mpn/generic/gcd.c: New file.
  1056.     * mpn/configure.in (functions): Update accordingly.
  1057.     * mpz/divexact.c: New file.
  1058.     * mpz/Makefile.in: Compile divexact.c.
  1059.     * mpz/gcd.c: Rewrite to accommodate for gcd changes in mpn.
  1060.     * gmp.h: declare new functions, delete obsolete declarations.
  1061.     * mpz/tests/dive.c: New file.
  1062.     * mpz/tests/Makefile.in: Handle dive.c.
  1063.  
  1064. Mon Jan 29 03:53:24 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1065.  
  1066.     * mpz/random.c: Handle negative SIZE parameter.
  1067.  
  1068.     * mpz/tests/tdiv(_ui).c: New name for tst-dm(_ui).c.
  1069.     * mpz/tests/tst-mdm(_ui).c: Delete.
  1070.     * mpz/tests/fdiv(_ui).c: New test based in tst-mdm(_ui).
  1071.     * mpz/tests/*.c: Get rid of tst- prefix for DOS 8+3 naming.
  1072.     * mpz/tests/Makefile.in: Corresponding changes.
  1073.     * mpz/tests/configure.in: Update srctrigger.
  1074.  
  1075.     * mpn/generic/divmod.c: Update from divrem.
  1076.     * mpn/generic/divrem.c: Misc cleanups.
  1077.  
  1078. Sun Jan 28 03:25:08 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1079.  
  1080.     * All files: Use new TMP_ALLOC interface.
  1081.  
  1082.     * mpz/powm_ui.c: Make Jan 25 changes to powm.c also here.
  1083.  
  1084.     * mpz/tests/powm_ui.c: New file.
  1085.     * mpz/tests/Makefile.in: Add rules for tst-powm and tst-powm_ui.
  1086.  
  1087.     * Makefile.in: Update dependency list.
  1088.     * mpf/Makefile.in: Likewise.
  1089.     * mpz/Makefile.in: Likewise.
  1090.     * mpq/Makefile.in: Likewise.
  1091.     * Makefile.in: Set RANLIB simply to ranlib, and allow configure
  1092.     to override it.
  1093.  
  1094.     * mpz/Makefile.in (conf): Delete spurious target.
  1095.     (mp_bases.c): Delete.
  1096.     (cre-conv-tab rules): Delete.
  1097.  
  1098.     * Makefile.in (cre-conv-tab): Greatly simplify.
  1099.  
  1100. Sat Jan 27 13:38:15 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1101.  
  1102.     * stack-alloc.c: New file.
  1103.     * stack-alloc.h: New file.
  1104.  
  1105.     * gmp.h (__gmp_inline): Define using __inline__.
  1106.  
  1107. Thu Jan 25 00:28:37 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1108.  
  1109.     * mpn/generic/scan0.c: New file.
  1110.     * mpn/generic/scan1.c: Renamed from next_bit.c.
  1111.     * mpn/configure.in (functions): Include scan0 and scan1.
  1112.  
  1113.     * mpn/m68k/*: #include sysdep.h.  Use C_GLOBAL_NAME.
  1114.  
  1115.     * configure: Update from Cygnus version.
  1116.     * config.guess: Likewise.
  1117.     * config.sub: Likewise.
  1118.     * configure: Pass --nfp to recursive configures.
  1119.  
  1120.     * mpz/tests/tst-*.c: Adjust SIZE and reps.
  1121.  
  1122.     * mpz/powm.c: Move esize==0 test earlier.
  1123.     In final reduction of rp,rsize, don't call mpn_divmod unless
  1124.     reduction is really needed.
  1125.  
  1126.     * mpz/tests/tst-powm.c: Fix thinko in checking code.
  1127.  
  1128.     * All files: Get rid of `__' prefix from mpn_* calls and declarations.
  1129.     * gmp.h: #define __MPN.
  1130.     * gmp.h: Use __MPN in #defines for mpn calls.
  1131.  
  1132.     * mpn/generic/mul_n.c: Prepend `i' to internal routines.
  1133.     * gmp-impl.h: Add #defines using __MPN for those internal routines.
  1134.  
  1135.     * mpn/generic/sqrt.c: Change call to mpn_mul to mpn_mul_n.
  1136.  
  1137. Wed Jan 24 13:28:19 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1138.  
  1139.     * mpn/sparc32/udiv_fp.S: New name for udiv_qrnnd.S.
  1140.     * mpn/sparc32/udiv_nfp.S: New name for v8/udiv_qrnnd.S.
  1141.     * mpn/sparc32/v8/supersparc: New directory.
  1142.     * mpn/sparc32/v8/supersparc/udiv.S: New file.
  1143.  
  1144. Tue Jan 23 01:10:11 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1145.  
  1146.     This major contribution is from Ken Weber:
  1147.     * mpn/generic/accelgcd.c: New file.
  1148.     * mpn/generic/bdivmod.c: New file.
  1149.     * mpn/generic/bingcd.c: New file.
  1150.     * mpn/generic/gcd_1.c: Rewrite.
  1151.     * mpn/generic/numbits.c: New file (to go away soon).
  1152.     * mpz/gcd.c: Rewrite.
  1153.     * mpz/tests/tst-gcd.c (SIZE): Now 128.
  1154.     * gmp.h: Declare new functions.
  1155.     * mpn/configure.in (functions): List new files.
  1156.     * gmp-impl.h (MPN_SWAP): Delete.
  1157.     (MPN_LESS_BITS_LIMB, MPN_LESS_BITS, MPN_MORE_BITS): Delete.
  1158.     (MPN_COMPL_INCR, MPN_COMPL): Delete.
  1159.  
  1160. Mon Jan 22 02:04:59 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1161.  
  1162.     * gmp.h (mpn_name): New #define.
  1163.  
  1164.     * mpn/m88k/mc88110/addmul_1.s: New file.
  1165.     * mpn/m88k/mc88110/add_n.S: New file.
  1166.     * mpn/m88k/mc88110/sub_n.S: New file.
  1167.  
  1168.     * mpn/m88k/sub_n.s: Correctly initialize carry.
  1169.  
  1170.     * mpn/sparc32/{add_n.S,sub_n.S,lshift.S,rshift.S): `beq' => `be'.
  1171.  
  1172. Sun Jan 21 00:04:35 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1173.  
  1174.     * mpn/sparc64/addmul_1.s: New file.
  1175.     * mpn/sparc64/submul_1.s: New file.
  1176.     * mpn/sparc64/rshift.s: New file.
  1177.  
  1178. Sat Jan 20 00:32:54 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1179.  
  1180.     * mpz/iset.c: Fix typo introduced Dec 25.
  1181.  
  1182. Wed Jan 17 13:16:44 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1183.  
  1184.     * config/mt-sprc8-gcc: New name for mt-sparc8-gcc.
  1185.     * config/mt-sparcv8-gcc: Delete.
  1186.     * configure.in: Corresponding changes.
  1187.  
  1188. Tue Jan 16 16:31:01 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1189.  
  1190.     * gmp-impl.h: #include alloca.h when necessary.
  1191.  
  1192.     * longlong.h: Test __alpha instead of __alpha__, since the former
  1193.     is the standard symbol.
  1194.  
  1195. Mon Jan 15 18:06:57 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
  1196.  
  1197.     * mpn/sparc64/mul_1.s: Swap operands of mulx instructions.
  1198.     * mpn/sparc64/lshift.s: New file.
  1199.  
  1200. Fri Dec 29 17:34:03 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1201.  
  1202.     * mpn/x86/pentium/add_n.S: Get rid of #defines for register names.
  1203.     * mpn/x86/pentium/sub_n.S: Likewise.
  1204.  
  1205. Thu Dec 28 03:16:57 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1206.  
  1207.     * mpn/x86/pentium/mul_1.S: Rework loop to avoid AGI between update
  1208.     of loop induction variable and load insn at beginning of loop.
  1209.     * mpn/x86/pentium/addmul_1.S: Likewise.
  1210.     * mpn/x86/pentium/submul_1.S: Likewise.
  1211.  
  1212. Mon Dec 25 23:22:55 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1213.  
  1214.     * All files: Prefix user-visible structure fields with _mp_.
  1215.  
  1216. Fri Dec 22 20:42:17 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1217.  
  1218.     * mpn/configure.in (m68k configs): Terminate path variable with
  1219.     plain "m68k".
  1220.  
  1221. Fri Dec 22 03:29:33 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1222.  
  1223.     * mpn/sparc32/add_n.S: Update from sub_n.S to fix bugs, and to
  1224.     clean things up.
  1225.  
  1226.     * mpn/configure.in (m68k configs): Update #include path for new
  1227.     mpn directory organization.
  1228.  
  1229. Tue Dec 12 02:53:02 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1230.  
  1231.     * gmp.h: Prefix all structure field with _mp_.
  1232.     * gmp-impl.h: Define access macros for these fields.
  1233.  
  1234. Sun Dec 10 00:47:17 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1235.  
  1236.     * mpn/alpha/addmul_1.s: Prefix labels with `.'.
  1237.     * mpn/alpha/submul_1.s: Likewise.
  1238.     * mpn/alpha/[lr]shift.s: Likewise.
  1239.     * mpn/alpha/udiv_qrnnd.S: Likewise.
  1240.     * mpn/alpha/ev5/[lr]shift.s: Likewise.
  1241.  
  1242.     * mpn/alpha/ev5/lshift.s: Fix typos.
  1243.  
  1244. Fri Dec  1 14:28:20 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1245.  
  1246.     * mpn/Makefile.in (.SUFFIXES): Define.
  1247.  
  1248. Wed Nov 29 23:11:57 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1249.  
  1250.     * mpn/sparc64/{add_n.s, sub_n.s}: New files.
  1251.  
  1252. Tue Nov 28 06:03:13 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1253.  
  1254.     * mpn/x86/syntax.h: Handle ELF_SYNTAX.
  1255.     Rename GAS_SYNTAX => BSD_SYNTAX.
  1256.  
  1257.     * mpn/configure.in: Handle linuxelf and SysV for x86 variants.
  1258.  
  1259. Mon Nov 27 01:32:12 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1260.  
  1261.     * mpn/hppa/hppa1_1/pa7100/submul_1.S: New file.
  1262.  
  1263. Sun Nov 26 04:30:47 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
  1264.  
  1265.     * mpn/hppa/hppa1_1/pa7100/addmul_1.S: New file.
  1266.  
  1267.     * mpn/sparc32/add_n.S: Rewrite to use 64 bit loads/stores.
  1268.     * mpn/sparc32/sub_n.S: Likewise.
  1269.  
  1270. Fri Nov 17 00:18:46 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1271.  
  1272.     * mpn/configure.in: Handle m68k on NextStep.
  1273.  
  1274. Thu Nov 16 02:30:26 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1275.  
  1276.     * mpn: Reorganize machine-specific directories.
  1277.     * mpn/configure.in: Corresponding changes.
  1278.     (sh, sh2): Handle these.
  1279.     (m68k targets): Create asm-syntax.h.
  1280.  
  1281. Thu Nov  9 02:20:50 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1282.  
  1283.     * mpn/generic/mul_n.c (____mpn_sqr_n): Delete code that calls abort.
  1284.     (____mpn_mul_n): Likewise.
  1285.  
  1286. Tue Nov  7 03:25:12 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1287.  
  1288.     * mpf/get_str.c: In exponentiation code (two places), don't swap
  1289.     input and output areas when calling mpn_mul_1.
  1290.     * mpf/set_str.c: Likewise.
  1291.  
  1292. Fri Nov  3 02:35:58 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1293.  
  1294.     * mpf/Makefile.in: Make sure all objects are listed in dependency list;
  1295.     delete spurious entries.
  1296.  
  1297.     * mpf/mul.c: Handle U or V being 0.  Allow prec+1 for result precision.
  1298.  
  1299.     * mpf/set_prec.c: New computation of limb precision.
  1300.     * mpf/set_dfl_prec.c: Likewise.
  1301.  
  1302.     * mpf/random2.c: Fix typo computing exp.
  1303.     * mpf/get_str.c: In (uexp > usize) case, set n_limbs as a function of
  1304.     the user-requested number of digits, n_digits.
  1305.  
  1306. Thu Nov  2 16:25:07 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1307.  
  1308.     * mpn/generic/divrem.c (case 2): Don't move np vector back, it is
  1309.     never read.
  1310.     (default case): Put most significant limb from np in new variable n2;
  1311.     decrease size argument for MPN_COPY_DECR; use n2 instead of np[dsize].
  1312.  
  1313. Wed Nov  1 02:59:53 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1314.  
  1315.     * mpn/sparc/[lr]shift.S: New files.
  1316.  
  1317. Tue Oct 31 00:08:12 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1318.  
  1319.     * mpz/gcd_ui.c: Set w->size unconditionally when v is zero.
  1320.  
  1321.     * gmp-impl.h (assert): Delete definition.
  1322.  
  1323.     * mpf/sub.c: Delete all assert calls.  Delete variable `cy'.
  1324.  
  1325.     * mpf/neg.c: Use prec+1 as precision.  Optimize for when arguments
  1326.     are the same.
  1327.     * mpf/abs.c: Likewise.
  1328.     * mpf/{set,neg,abs}.c: Make structure and variable names similar.
  1329.  
  1330. Mon Oct 30 12:45:26 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1331.  
  1332.     * mpf/random2.c (random): Test __SVR4 in addition to __svr4__.
  1333.     * mpn/generic/random2.c (random): Likewise.
  1334.  
  1335. Sun Oct 29 01:54:28 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1336.  
  1337.     * mpf/div.c: Special handle U or V being 0.
  1338.  
  1339.     * mpf/random2.c: New file.
  1340.  
  1341.     * longlong.h (i860 rshift_rhlc): Define.
  1342.     (i960 udiv_qrnnd): Define.
  1343.     (i960 count_leading_zeros): Define.
  1344.     (i960 add_ssaaaa): Define.
  1345.     (i960 sub_ddmmss): Define.
  1346.     (i960 rshift_rhlc): Define.
  1347.  
  1348. Sat Oct 28 19:09:15 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1349.  
  1350.     * mpn/pentium/rshift.S: Fix and generalize condition for when to use
  1351.     special code for shift by 1.
  1352.     * mpn/pentium/lshift.S: Likewise.
  1353.  
  1354. Thu Oct 26 00:02:56 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1355.  
  1356.     * gmp.h: #undef __need_size_t.
  1357.     * mp.h: Update from gmp.h.
  1358.  
  1359. Wed Oct 25 00:17:27 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1360.  
  1361.     * mpf/Makefile.in: Compile set_prec.c.
  1362.     * mpf/realloc.c: Delete this file.
  1363.     * mpf/Makefile.in: Delete mentions of realloc.c.
  1364.  
  1365.     * gmp.h (__mpf_struct): Get rid of `alloc' field.
  1366.     * mpf/clear.c: Likewise.
  1367.     * mpf/init*.c: Likewise.
  1368.     * mpf/set_prec.c: Likewise.
  1369.     * mpf/iset*.c: Likewise.
  1370.  
  1371.     * mpf/iset_str.c: New file.
  1372.  
  1373.     * mpn/configure.in: Handle pyramid.
  1374.  
  1375.     * mpf/set.c: Use prec+1 as precision.
  1376.  
  1377.     * mpf/set_prec.c: New file.
  1378.  
  1379. Tue Oct 24 00:56:41 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1380.  
  1381.     * mpn/generic/divrem.c: New file.  Will replace mpn/generic/divmod.c
  1382.     when rest of source is converted.
  1383.     * mpn/configure.in (functions): Add `divrem'
  1384.     * mpn/generic/set_str.c: Never call __mpn_mul_1 with zero size.
  1385.  
  1386.     * mpf/get_str.c: Completely rewritten.
  1387.     * mpf/add.c: Fix several problems.
  1388.     * mpf/sub.c: Compare operands from most significant end until
  1389.     first difference, exclude skipped limbs from computation.
  1390.     Accordingly simplify normalization code.
  1391.     * mpf/set_str.c: Fix several problems.
  1392.     * mpf/dump.c: New file.
  1393.     * mpf/Makefile.in: Compile dump.c.
  1394.     * mpf/init2.c: Set prec field correctly.
  1395.  
  1396. Sun Oct 22 03:02:09 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1397.  
  1398.     * cre-conv-tab.c: #include math.h; don't declare log and floor.
  1399.  
  1400. Sat Oct 21 23:04:10 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1401.  
  1402.     * mpf/mul_ui.c: Handle U being 0.
  1403.  
  1404. Wed Oct 18 19:39:27 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1405.  
  1406.     * mpn/generic/set_str.c: Correctly handle input like "000000000000".
  1407.     Misc cleanups.
  1408.  
  1409. Tue Oct 17 15:14:13 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1410.  
  1411.     * longlong.h: Define COUNT_LEADING_ZEROS_0 for machines where
  1412.     appropriate.
  1413.  
  1414. Mon Oct 16 19:14:43 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1415.  
  1416.     * mpf/add.c: Rewrite.
  1417.     * mpf/set_str.c: New file.  Needs more work.
  1418.  
  1419. Sat Oct 14 00:14:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1420.  
  1421.     * mpf/div_2exp.c: Vastly simplify.
  1422.     * mpf/mul_2exp.c: Likewise.
  1423.  
  1424.     * mpf/sub.c: Rewrite.
  1425.  
  1426.     * gmp-impl.h (udiv_qrnnd_preinv2gen): Terminate comment.
  1427.  
  1428.     * mpf/dump.c: Free allocated memory.
  1429.  
  1430.     * gmp-impl.h (assert): Define.
  1431.  
  1432. Wed Oct 11 13:31:00 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1433.  
  1434.     * mpn/pentium/rshift.S: Install new code to optimize shift-by-1.
  1435.  
  1436. Tue Oct 10 00:37:21 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1437.  
  1438.     * mpn/pentium/lshift.S: Install new code to optimize shift-by-1.
  1439.  
  1440.     * mpn/powerpc32/{lshift.s,rshift.s}: New files.
  1441.  
  1442.     * configure.in: Fix typo.
  1443.  
  1444. Sat Oct  7 08:17:09 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1445.  
  1446.     * longlong.h (smul_ppmm): Correct type of __m0 and __m1.
  1447.  
  1448. Wed Oct  4 16:31:28 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1449.  
  1450.     * mpn/configure.in: Handle alphaev5.
  1451.     * mpn/ev4: New name for alpha subdir.
  1452.     * mpn/ev5: New subdir.
  1453.     * mpn/ev5/lshift.s: New file.
  1454.  
  1455. Tue Oct  3 15:06:45 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1456.  
  1457.     * mpn/alpha/mul_1.s: Avoid static increments of pointers; use
  1458.     corresponding offsets in ldq and stq instructions instead.
  1459.     (Loop): Swap cmpult and stq to save one cycle on EV5.
  1460.  
  1461.     * mpn/tests/{add_n.s,sub_n.s,lshift.s,rshift.s,mul_1.s,addmul_1.s,
  1462.     submul_1.s}: Don't check results if NOCHECK is defined.
  1463.  
  1464. Mon Oct  2 11:40:18 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1465.  
  1466.     * longlong.h (mips umul_ppmm [32 and 64 bit versions]):
  1467.     Make new variants, based on GCC version number, that use `l' and `h'
  1468.     constraints instead of explicit mflo and mfhi instructions
  1469.  
  1470. Sun Oct  1 00:17:47 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1471.  
  1472.     * mpn/mc88100/add_n.s: Decrease unrolling factor from 16 to 8.
  1473.     * mpn/mc88100/sub_n.s: Likewise.
  1474.  
  1475.     * config/mt-m88110: New file.
  1476.     * configure.in: Use it.
  1477.  
  1478.     * mpn/mc88110/mul_1.s: Fix thinko.
  1479.  
  1480. Sat Sep 30 21:28:19 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1481.  
  1482.     * mpz/set_d.c: Declare `size' at function start.
  1483.  
  1484.     * experimental: New directory for mpx and mpz2.
  1485.  
  1486.     * mpz/tdiv_q.c: Clarify comments.
  1487.     * mpz/{mod.c,mod_ui.c}: New file, for math mod function.
  1488.  
  1489.     * mpn/sh2/{mul_1.s,addmul_1.s,submul_1.s}: New files.
  1490.  
  1491.     * mpn/sh/{add_n.s,sub_n.s}: New files.
  1492.  
  1493.     * mpn/pyr/{add_n.s,sub_n.s,mul_1.s,addmul_1.s}: New files.
  1494.  
  1495.     * mpn/i960/{add_n.s,sub_n.s}: New files.
  1496.  
  1497.     * mpn/alpha/addmul_1.s (Loop): Move decrement of r18 to before umulh,
  1498.     to save cycles on EV5.
  1499.     * mpn/alpha/submul_1.s: Ditto.
  1500.     * mpn/alpha/mul_1.s: Ditto.
  1501.  
  1502. Thu Sep 28 02:48:59 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1503.  
  1504.     * gmp.h (mp_limb, mp_limb_signed): Define as `long long' if
  1505.     _LONG_LONG_LIMB is defined.
  1506.  
  1507.     * longlong.h (m88110): Test __m88110__, not __mc88110__
  1508.  
  1509.     * mpn/mc88110/mul_1.s: Rewrite.
  1510.  
  1511. Tue Sep 26 23:29:05 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1512.  
  1513.     * config.sub: Update from current Cygnus version.
  1514.  
  1515.     * mpn/configure.in: Recognize canonical m88*, not mc88*.
  1516.  
  1517. Fri Sep 22 14:58:05 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1518.  
  1519.     * mpz/set_d.c: New file.
  1520.     * mpz/Makefile.in: Build new files.
  1521.  
  1522.     * mpq/get_d.c: Replace usage of scalbn with ldexp.
  1523.  
  1524.     * mpn/{vax,i386}/gmp-mparam.h: New files.
  1525.     * gmp-impl.h (ieee_double_extract): Define here.
  1526.     * mpf/set_d.c (ieee_double_extract): Not here.
  1527.  
  1528. Thu Sep 21 00:56:36 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1529.  
  1530.     * longlong.h (C umul_ppmm): Use UWtype, not USItype for temps.
  1531.     (udiv_qrnnd): For cases implemented with call to __udiv_qrnnd,
  1532.     protect with new symbol LONGLONG_STANDALONE.
  1533.     (68000 umul_ppmm): Use %# prefix for immediate constants.
  1534.  
  1535. Wed Sep 20 15:36:23 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1536.  
  1537.     * mpn/generic/divmod_1.c: Handle
  1538.     divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
  1539.     specifically also when normalization_steps != 0.
  1540.  
  1541. Mon Sep 18 15:42:30 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1542.  
  1543.     * mpq/get_d.c: New file.
  1544.  
  1545. Sun Sep 17 02:04:36 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1546.  
  1547.     * longlong.h (pyr): Botch up for now.
  1548.  
  1549. Sat Sep 16 00:11:50 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1550.  
  1551.     * mpn/clipper/mul_1.s: New file.
  1552.     * mpn/clipper/add_n.s: New file.
  1553.     * mpn/clipper/sub_n.s: New file.
  1554.     * mpn/configure.in: Handle clipper*-*-*.
  1555.  
  1556.     * mpn/configure.in: Recognize rs6000-*-*.
  1557.  
  1558. Fri Sep 15 00:41:34 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1559.  
  1560.     * mpn/alpha/add_n.s: New file.
  1561.     * mpn/alpha/sub_n.s: New file.
  1562.  
  1563.     * mpn/mips3: New name for mpn/r4000.
  1564.     * mpn/mips2: New name for mpn/r3000.
  1565.     * mpn/configure.in: Corresponding changes.
  1566.  
  1567.     * mpn/generic/perfsqr.c (primes): Delete.
  1568.     (residue_map): Delete.
  1569.  
  1570. Thu Sep 14 00:07:58 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1571.  
  1572.     * mpn/r3000/sub_n.s: Fix typo.
  1573.  
  1574.     * dm_trunc.c: Delete spurious file.
  1575.  
  1576.     * mpz/out_binary.c: Fix typo.
  1577.  
  1578.     * mpn/configure.in (per-target): Make mips*-*-irix6* imply r4000.
  1579.  
  1580.     * gmp-impl.h: For sparc and sgi, include alloca.h.
  1581.  
  1582.     * mpn/z8000/mul_1.s: Replace `test r' with `and r,r'.  Replace
  1583.     `ldk r,#0' with `xor r,r'.
  1584.  
  1585. Wed Sep  6 00:58:38 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1586.  
  1587.     * mpz/inp_binary.c: New file.
  1588.     * mpz/out_binary.c: New file.
  1589.     * mpz/Makefile.in: Build new files.
  1590.  
  1591. Tue Sep  5 22:53:51 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1592.  
  1593.     * gmp.h (__mpz_struct): Change `long int' => `mp_size_t' for alloc
  1594.     and size fields.
  1595.  
  1596. Sat Sep  2 17:47:59 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1597.  
  1598.     * mpn/r4000/{add_n.s,sub_n.s}: Optimize away some pointer arithmetic.
  1599.     * mpn/r3000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files,
  1600.     derived from r4000 code.
  1601.  
  1602. Fri Sep  1 05:35:52 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1603.  
  1604.     * mpn/r3000/mul_1.s: Fix typo.
  1605.  
  1606.     * mpn/powerpc32: Fix some old vs new mnemonic issues.
  1607.  
  1608.     * mpn/powerpc32/{add_n.s,sub_n.s}: New files.
  1609.     * mpn/r4000/{add_n.s,sub_n.s,lshift.s,rshift.s}: New files.
  1610.  
  1611. Wed Aug 30 10:43:47 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1612.  
  1613.     * mpn/r3000/mul_1.s ($LC1): Use addiu for immediate add.
  1614.     * mpn/r4000/{mul_1.s,addmul_1.s,submul_1.s}: New files.
  1615.  
  1616.     * config.guess: Update to latest FSF revision.
  1617.  
  1618. Mon Aug 28 02:18:13 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1619.  
  1620.     * mpz/out_str.c: Cast str to char * in fputs call.
  1621.  
  1622.     * gmp-impl.h: Define UQItype, SItype, and USItype also
  1623.     when not __GNUC__.
  1624.  
  1625. Fri Aug 25 01:45:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1626.  
  1627.     * mpn/i386/syntax.h: Renamed from asm-syntax.h.
  1628.     * mpn/mc68020/syntax.h: Renamed from asm-syntax.h.
  1629.     * mpn/configure.in: Corresponding changes.
  1630.  
  1631. Sun Aug 13 19:20:04 1995  Torbjorn Granlund  <tege@bozo.tmg.se>
  1632.  
  1633.     * mpn/generic/random2.c: Test __hpux, not hpux.
  1634.  
  1635. Sat Apr 15 20:50:33 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1636.  
  1637.     * mpn/sparc/add_n.S: Make it work for PIC.
  1638.     * mpn/sparc/sub_n.s: Likewise.
  1639.     * mpn/sparc8/addmul_1.S: Likewise.
  1640.     * mpn/sparc8/mul_1.S: Likewise.
  1641.     * mpn/i386/add_n.S: Likewise.
  1642.     * mpn/i386/sub_n.S: Likewise.
  1643.  
  1644. Thu Apr 13 23:15:03 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1645.  
  1646.     * mpn/configure.in: Don't search power subdir for generic ppc configs.
  1647.     Add some ppc cpu-specific configs.  Misc clean up.
  1648.  
  1649. Mon Apr 10 00:16:35 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1650.  
  1651.     * mpz/ui_pow_ui.c: Delete spurious code to handle negative results.
  1652.  
  1653. Sun Apr  9 12:38:11 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1654.  
  1655.     * longlong.h (SPARC v8 udiv_qrnnd): Generate remainder in C,
  1656.     not in asm.
  1657.  
  1658.     * mpn/generic/sqrt.c (SQRT): Test for __SOFT_FLOAT.
  1659.  
  1660. Tue Mar 28 00:19:52 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1661.  
  1662.     * mpn/generic/hamdist.c (popc_limb): Make Mar 16 change here too.
  1663.  
  1664. Fri Mar 17 23:29:22 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1665.  
  1666.     * longlong.h (SH umul_ppmm): Define.
  1667.  
  1668. Thu Mar 16 16:40:44 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1669.  
  1670.     * mpn/generic/popcount.c (popc_limb): Rearrange 32 bit case
  1671.     to help CSE.
  1672.  
  1673. Fri Mar 10 20:03:49 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1674.  
  1675.     * mpn/powerpc32/mul_1.s: Clear cy before entering loop.
  1676.     Rearrange loop to save a cycle.
  1677.     * mpn/powerpc32/addmul_1.s: New file.
  1678.     * mpn/powerpc32/submul_1.s: New file.
  1679.  
  1680. Fri Feb 17 22:44:45 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1681.  
  1682.     * mpn/configure.in: Set target_makefile_frag for freebsd
  1683.     in new case stmt.
  1684.     * mpn/config/t-freebsd: New file.
  1685.     * mpn/Makefile.in: Add #### for frag insertion.
  1686.     (XCFLAGS): Clear by default.
  1687.     (.c.o, .S.o rules): Pass XCFLAGS.
  1688.  
  1689. Tue Feb  7 16:27:50 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1690.  
  1691.     * longlong.h (68000 umul_ppmm): Merge improvements from henderson.
  1692.  
  1693. Tue Jan 24 04:23:20 1995  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1694.  
  1695.     * longlong.h (default umul_ppmm): Store input parameters in temporaries
  1696.     to avoid reading them twice.
  1697.     (default smul_ppmm): New definition.
  1698.  
  1699. Thu Dec 29 04:20:07 1994  Jim Meyering  (meyering@comco.com)
  1700.  
  1701.     * generic/perfsqr.c (__mpn_perfect_square_p): Remove declaration
  1702.     of unused variable.
  1703.     * generic/pre_mod_1.c (__mpn_preinv_mod_1): Likewise.
  1704.     * mpz/powm.c (pow): Likewise.
  1705.  
  1706.     * mpz/and.c (mpz_and): Use {} instead of `;' for empty else clause
  1707.     to placate `gcc -Wall'.
  1708.     * mpz/ior.c (mpz_ior): Likewise.
  1709.  
  1710. Wed Dec 28 13:31:40 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1711.  
  1712.     * mpn/m*68*/*.S: #include asm-syntax.h, not asm.h.
  1713.  
  1714. Mon Dec 26 17:15:36 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1715.  
  1716.     * longlong.h: Test for more symbols, in __mc68000__ case.
  1717.  
  1718.     * mpn/mpn/config.sub: Recognize m68060.
  1719.     * mpn/configure.in: Change mc* to m* for 68k targets.
  1720.     * mpn/Makefile.in (.S.o): Delete spurious creation of temp .c file.
  1721.  
  1722. Mon Dec 19 01:56:30 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1723.  
  1724.     * config.sub: Recognize pentium as a valid CPU.
  1725.     * mpn/configure.in: Handle pentium specifically, to use new assembly
  1726.     code.
  1727.  
  1728. Mon Dec 19 00:13:01 1994  Jim Meyering  (meyering@comco.com)
  1729.  
  1730.     * gmp.h: Define _GMP_H_HAVE_FILE if FILE, __STDIO_H__, or H_STDIO
  1731.     is defined.
  1732.     * gmp.h: test _GMP_H_HAVE_FILE instead of FILE everywhere else.
  1733.  
  1734. Mon Dec 19 00:04:54 1994  Kent Boortz  (boortz@sics.se)
  1735.  
  1736.     * Makefile.in (recursive makes): Pass CFLAGS.
  1737.  
  1738. Sun Dec 18 22:34:49 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1739.  
  1740.     * mpn/pentium: New directory.
  1741.  
  1742.     * mpz/pprime.c: Make sure to mpz_clear all temporaries.
  1743.  
  1744.     * longlong.h: Don't use udiv instruction when SUPERSPARC is defined.
  1745.     * configure.in: Handle supersparc*-.
  1746.     * config/mt-supspc-gcc: New file.
  1747.     * config/mt-sparc8-gcc: New name for mt-sparcv8-gcc.
  1748.  
  1749. Mon Dec 12 22:22:10 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1750.  
  1751.     * mpn/i386/*.S: #include "asm-syntax.h", not "asm.h".
  1752.     #include sysdep.h before asm-syntax.h.
  1753.  
  1754.     * mpn/mc68020/asm-syntax.h: #undef ALIGN before defining it.
  1755.     * mpn/i386/asm-syntax.h: Likewise.
  1756.  
  1757.     * mpn/mc68020/asm-syntax.h: New name for asm.h.
  1758.     * mpn/i386/asm-syntax.h: New name for asm.h.
  1759.  
  1760. Tue Dec  6 21:55:25 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1761.  
  1762.     * mpz/array_init.c: Fix typo in declaration.
  1763.  
  1764. Fri Nov 18 19:50:52 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1765.  
  1766.     * mpn/Makefile.in (.S.o): Pass CFLAGS and INCLUDES.
  1767.  
  1768. Mon Nov 14 00:34:12 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1769.  
  1770.     * mpn/generic/random2.c (random): Test for __svr4__.
  1771.  
  1772. Wed Oct 12 23:28:16 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1773.  
  1774.     * cre-conv-tab.c (main): Avoid upper-case X in printf format string.
  1775.  
  1776. Tue Aug 23 17:16:35 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1777.  
  1778.     * mpz/perfsqr.c: Use mpn_perfect_square_p.
  1779.     * mpn/generic/perfsqr.c: New file.
  1780.  
  1781. Wed Jul  6 13:46:51 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1782.  
  1783.     * mpz/array_init.c: New file.
  1784.     * mpz/Makefile.in: Compile array_init.
  1785.     * gmp.h: Declare mpz_array_init.
  1786.  
  1787. Mon Jul  4 01:10:03 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1788.  
  1789.     * mpz/add.c: Fix bogus comment.
  1790.     * mpz/sub.c: Likewise.
  1791.  
  1792. Sat Jul  2 02:14:56 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1793.  
  1794.     * mpn/generic/pre_mod_1.c: New file.
  1795.     * mpz/perfsqr.c: Use __mpn_preinv_mod_1 when faster.
  1796.  
  1797. Fri Jul 01 22:10:19 1994  Richard Earnshaw (rwe11@cl.cam.ac.uk)
  1798.  
  1799.     * longlong.h (arm umul_ppmm): Fix typos in last change.  Mark
  1800.     hard-coded registers with "%|"
  1801.  
  1802. Thu Jun 30 03:59:33 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1803.  
  1804.     * mpz/perfsqr.c: Define PP, etc, for machines with 64 bit limbs.
  1805.     Use __mpn_mod_1.
  1806.     * mpz/perfsqr.c: Don't clobber REM in quadratic    residue check loop.
  1807.  
  1808. Wed Jun 29 18:45:41 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1809.  
  1810.     * mpn/generic/sqrt.c (SQRT): New asm for IBM POWER2.
  1811.  
  1812.     * mpz/gcd_ui.c: Return 0 if result does not fit an unsigned long.
  1813.  
  1814.     * gmp.h: Use "defined (__STDC__)" consistently.
  1815.  
  1816. Tue Jun 28 18:44:58 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1817.  
  1818.     * gmp.h (mpz_get_si): Don't use "signed" keyword for return type.
  1819.  
  1820.     * mpz/tests/Makefile.in: Use CFLAGS for linking.
  1821.  
  1822.     * Makefile.in (CFLAGS): Use -O2 here.
  1823.     * mpn/Makefile (CFLAGS): Not here.
  1824.  
  1825.     * mpq/cmp_ui.c: Fix typo.
  1826.     * mpq/canonicalize.c: Fix typo.
  1827.     * mpz/gcd_ui.c: Handle gcd(0,v) and gcd(u,0) correctly.
  1828.     * mpn/generic/gcd_1.c: Fix braino in last change.
  1829.  
  1830. Mon Jun 27 16:10:27 1994  Torbjorn Granlund  (tege@rtl.cygnus.com)
  1831.  
  1832.     * mpz/gcd_ui.c: Change return type and return result.
  1833.     Allow destination param to be NULL.
  1834.     * gmp.h: Corresponding change.
  1835.     * mpn/generic/gcd_1.c: Handle zero return from mpn_mod_1.
  1836.  
  1837. Tue Jun 14 02:17:43 1994  Torbjorn Granlund  (tege@tiny.cygnus.com)
  1838.  
  1839.     * mpn/i386/asm.h (ALIGN): Make it take a parameter.
  1840.     * mpn/i386/*.S: Use ALIGN to align all loops.
  1841.  
  1842.     * mpn/i386/*.S: Move colon inside C_GLOBAL_NAME expression.
  1843.     (Makes old versions of GAS happy.)
  1844.  
  1845. Sat May 28 01:43:54 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1846.  
  1847.     * Many files: Delete unused variables and labels.
  1848.     * mpn/generic/dump.c: cast printf width argument to int.
  1849.  
  1850. Wed May 25 00:42:37 1994  Torbjorn Granlund  (tege@thepub.cygnus.com)
  1851.  
  1852.     * mpz/gcd.c (mpz_gcd): Normalize after __mpn_sub calls.
  1853.     (xmod): Ignore return value of __mpn_divmod.
  1854.     (xmod): Improve normalization code.
  1855.  
  1856. Sat May 21 01:30:09 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1857.  
  1858.     * mpz/gcdext.c: Cosmetic changes.
  1859.  
  1860.     * mpz/fdiv_ui.c: New file.
  1861.  
  1862. Fri May 20 00:24:53 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1863.  
  1864.     * mpz/tests/Makefile.in: Use explicit rules for running tests,
  1865.     not a shell loop.
  1866.     (clean): Delete stmp-*.
  1867.  
  1868.     * mpz/Makefile.in: Update.
  1869.  
  1870.     * mpz/div_ui.c: Don't include longlong.h.
  1871.     * mpz/dm_ui.c: Likewise.
  1872.  
  1873.     * mpz/fdiv_q.c, mpz/fdiv_q_ui.c, mpz/fdiv_qr.c, mpz/fdiv_qr_ui.c,
  1874.     mpz/fdiv_r.c, mpz/fdiv_r_ui.c: New files.  Code partly from deleted
  1875.     mdm.c, mdm_ui.c, etc, partly rewritten.
  1876.     * mpz/dm_floor_ui.c, mpz/dm_floor.c: Delete.
  1877.     * mpz/mdm.c, mpz/mdm_ui.c, mpz/mdiv.c, mpz/mdiv_ui.c, mpz/mmod.c,
  1878.     mpz/mmod_ui.c: Delete.
  1879.  
  1880.     * mpz/tdiv_q.c, mpz/tdiv_q_ui.c, mpz/tdiv_qr.c, mpz/tdiv_qr_ui.c,
  1881.     mpz/tdiv_r.c, mpz/tdiv_r_ui.c:
  1882.     New names for files implementing truncating division.
  1883.     * mpz/div_ui.c, mpz/dm_ui.c, mpz/mod_ui.c: Simplify.
  1884.  
  1885.     * mpn/Makefile.in (.S.o): Don't rely on CPP being defined, use CC
  1886.     instead.
  1887.     (clean): Delete tmp-*.
  1888.  
  1889. Thu May 19 01:37:44 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1890.  
  1891.     * mpz/cmp.c: Call __mpn_cmp.
  1892.  
  1893.     * mpz/popcount.c: Fix typo.
  1894.  
  1895.     * mpz/powm_ui.c: Simplify main loop.  Keep principal operand size
  1896.     smaller than MSIZE when possible.
  1897.     * mpz/powm.c: Likewise.
  1898.  
  1899.     * mpn/generic/sqrt.c: Move alloca calls into where the memory is
  1900.     needed.  Simplify.
  1901.  
  1902.     * gmp.h: (_PROTO): New macro.
  1903.     Add many function declarations; use _PROTO macro in all declarations.
  1904.  
  1905.     * mpf/*.c: Prepend mpn calls with __.
  1906.  
  1907. Wed May 18 20:57:06 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1908.  
  1909.     * mpf/*ui*.c: Make ui argument `long' for consistency with mpz
  1910.     functions.
  1911.  
  1912.     * mpf/div_ui.c: Simplify.
  1913.  
  1914. Tue May 17 01:05:14 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1915.  
  1916.     * mpz/*.c: Prepend mpn calls with __.
  1917.  
  1918.     * mpz/mul_ui.c: Use mpn_mul_1.
  1919.  
  1920. Mon May 16 17:19:41 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1921.  
  1922.     * mpn/i386/mul_1.S: Use C_GLOBAL_NAME.
  1923.     * mpn/i386/mul_1.S, mpn/i386/addmul_1.S, mpn/i386/submul_1.S:
  1924.     Nuke use of LAB.
  1925.  
  1926. Sat May 14 14:21:02 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1927.  
  1928.     * gmp-impl.h: Don't define abort here.
  1929.  
  1930.     * mpz/pow_ui.c: Increase temporary allocation.
  1931.     * mpz/ui_pow_ui.c: Likewise.
  1932.  
  1933.     * gmp.h (mpz_add_1, mpz_sub_1): Don't call memcpy.
  1934.  
  1935.     * All Makefile.in: Delete spurious -I arguments.
  1936.     Update dependencies.
  1937.  
  1938.     * mpz/popcount.c: New file.
  1939.     * mpz/hamdist.c: New file.
  1940.  
  1941.     * All configure: Latest version from Cygnus.
  1942.  
  1943.     * mpq/Makefile.in: New file.
  1944.     * mpq/configure.in: New file.
  1945.     * Makefile.in, configure.in: Enable compilation of mpq.
  1946.  
  1947.     * mpq/set_z.c: Fix typos.
  1948.     * mpq/canonicalize.c: Fix typos.
  1949.     * mpq/cmp_ui.c: Fix typos.
  1950.  
  1951.     * mpf/add_ui.c: Read U->D into UP always.  Delete spurious MPN_COPY.
  1952.     * mpf/sub_ui.c: Likewise.
  1953.  
  1954.     * gmp-impl.h: Don't redefine alloca.
  1955.  
  1956.     * COPYING.LIB: Renamed from COPYING.
  1957.  
  1958. Wed May 11 01:45:44 1994  Torbjorn Granlund  (tege@adder.cygnus.com)
  1959.  
  1960.     * mpz/powm_ui.c: When shifting E left by C+1, handle out-of-range
  1961.     shift counts.  Fix typo when testing negative_result.
  1962.     * mpz/powm.c: Likewise.
  1963.  
  1964.     * mpz/ui_pow_ui.c: New file.
  1965.     * mpz/Makefile.in: Update.
  1966.  
  1967.     * mpz/pow_ui.c: Call __mpn_mul_n instead of __mpn_mul when possible.
  1968.  
  1969.     * mpz/div.c, mpz/div_ui.c, mpz/gcd.c: Prefix external mpn calls.
  1970.     * mpz/gcd.c: Declare mpn_xmod.
  1971.  
  1972.     * mpz/powm.c: Major changes to accommodate changed mpn semantics.
  1973.     * mpz/powm_ui.c: Update from mpz/powm.c.
  1974.  
  1975.     * mpz/tests/tst-io.c: New file.
  1976.     * mpz/tests/tst-logic: New file.
  1977.     * mpz/tests/Makefile.in: Update.
  1978.  
  1979.     * mpz/inp_str.c: Get base right when checking for first digit.
  1980.     * mpz/inp_str.c: Allocate more space for DEST when needed.
  1981.  
  1982.     * mpz/com.c: Use mpn_add_1 and mpn_sub_1.
  1983.     * mpz/and.c, mpz/ior.c: Likewise.  Simplify somewhat.
  1984.  
  1985.     * mpz/add_ui.c: Use mpn_add_1 and mpn_sub_1.
  1986.     Rename parameters to be consistent with mpz/sub_ui.
  1987.     General simplifications.
  1988.     * mpz/sub_ui.x: Likewise.
  1989.  
  1990. Tue Aug 10 19:41:16 1993  Torbjorn Granlund  (tege@prudens.matematik.su.se)
  1991.  
  1992.     * mpf: New directory.
  1993.     * mpf/*.c: Merge basic set of mpf functions.
  1994.  
  1995.     * Many logs missing...
  1996.  
  1997. Sun Apr 25 18:40:26 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
  1998.  
  1999.     * memory.c: Use #if instead of #ifdef for __STDC__ for consistency.
  2000.     * bsd/xtom.c: Likewise.
  2001.  
  2002.     * mpz/div.c: Remove free_me and free_me_size and their usage.
  2003.     Use mpn_divmod for division; corresponding changes in return value
  2004.     convention.
  2005.     * mpz/powm.c: `carry_digit' => `carry_limb'.
  2006.     * bsd/sdiv.c: Clearify comment.
  2007.  
  2008. Sun Apr 25 00:31:28 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
  2009.  
  2010.     * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
  2011.  
  2012. Sat Apr 24 16:23:33 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
  2013.  
  2014.     * longlong.h (__udiv_qrnnd_c): Make all variables `unsigned long int'.
  2015.  
  2016.     * gmp-impl.h: #define ABS.
  2017.     * (Many files): Use ABS instead of abs.
  2018.  
  2019.     * mpn/generic/sqrt.c, mpz/clrbit.c, mpz/get_si.c, mpz/mod_2exp.c,
  2020.     mpz/pow_ui.c: Cast 1 to mp_limb before shifting.
  2021.  
  2022.     * mpz/perfsqr.c: Use #if, not plain if for exclusion of code for
  2023.     non-32-bit machines.
  2024.  
  2025. Tue Apr 20 13:13:58 1993  Torbjorn Granlund  (tege@du.nada.kth.se)
  2026.  
  2027.     * mpn/generic/sqrt.c: Handle overflow for intermediate quotients by
  2028.     rounding them down to fit.
  2029.  
  2030.     * mpz/perfsqr.c (PP): Define in hexadecimal to avoid GCC warnings.
  2031.  
  2032.     * mpz/inp_str.c (char_ok_for_base): New function.
  2033.     (mpz_inp_str): Use it.
  2034.  
  2035. Sun Mar 28 21:54:06 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
  2036.  
  2037.     * mpz/inp_raw.c: Allocate x_index, not xsize limbs.
  2038.  
  2039. Mon Mar 15 11:44:06 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
  2040.  
  2041.     * mpz/pprime.c: Declare param `const'.
  2042.     * gmp.h: Add declarations for mpz_com.
  2043.  
  2044. Thu Feb 18 14:10:34 1993  Torbjorn Granlund  (tege@pde.nada.kth.se)
  2045.  
  2046.     * mpq/add.c, mpq/sub.c: Call mpz_clear for t.
  2047.  
  2048. Fri Feb 12 20:27:34 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
  2049.  
  2050.     * mpz/inp_str.c: Recog minus sign as first character.
  2051.  
  2052. Wed Feb  3 01:36:02 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
  2053.  
  2054.     * mpz/iset.c: Handle 0 size.
  2055.  
  2056. Tue Feb  2 13:03:33 1993  Torbjorn Granlund  (tege@cyklop.nada.kth.se)
  2057.  
  2058.     * mpz/mod_ui.c: Initialize dividend_size before it's used.
  2059.  
  2060. Mon Jan  4 09:11:15 1993  Torbjorn Granlund  (tege@sics.se)
  2061.  
  2062.     * bsd/itom.c: Declare param explicitly 'signed'.
  2063.     * bsd/sdiv.c: Likewise.
  2064.  
  2065.     * mpq/cmp.c: Remove unused variable tmp_size.
  2066.     * mpz/powm_ui.c: Fix typo in esize==0 if stmt.
  2067.     * mpz/powm.c: Likewise.
  2068.  
  2069. Sun Nov 29 01:16:11 1992  Torbjorn Granlund  (tege@sics.se)
  2070.  
  2071.     * mpn/generic/divmod_1.c (mpn_divmod_1): Handle
  2072.     divisor_limb == 1 << (BITS_PER_MP_LIMB - 1)
  2073.     specifically.
  2074.  
  2075.     * Reorganize sources.  New directories mpn, mpn/MACH, mpn/generic,
  2076.     mpz, mpq, bsd.  Use full file name for change logs hereafter.
  2077.  
  2078. Wed Oct 28 17:40:04 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
  2079.  
  2080.     * longlong.h (__hppa umul_ppmm): Fix typos.
  2081.     (__hppa sub_ddmmss): Swap input arguments.
  2082.  
  2083.     * mpz_perfsqr.c (mpz_perfect_square_p): Avoid , before } in
  2084.     initializator.
  2085.  
  2086. Sun Oct 25 20:30:06 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
  2087.  
  2088.     * mpz_pprime.c (mpz_probab_prime_p): Handle numbers <= 3
  2089.     specifically (used to consider all negative numbers prime).
  2090.  
  2091.     * mpz_powm_ui: `carry_digit' => `carry_limb'.
  2092.  
  2093.     * sdiv: Handle zero dividend specifically.  Replace most code in
  2094.     this function with a call to mpn_divmod_1.
  2095.  
  2096. Fri Sep 11 22:15:55 1992  Torbjorn Granlund  (tege@tarrega.sics.se)
  2097.  
  2098.     * mpq_clear: Don't free the MP_RAT!
  2099.  
  2100.     * mpn_lshift, mpn_rshift, mpn_rshiftci: Remove `long' from 4:th arg.
  2101.  
  2102. Thu Sep  3 01:47:07 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
  2103.  
  2104.     * All files: Remove leading _ from mpn function names.
  2105.  
  2106. Wed Sep  2 22:21:16 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
  2107.  
  2108.     Fix from Jan-Hein Buhrman:
  2109.     * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c: Make them work as documented.
  2110.  
  2111.     * mpz_mmod.c, mpz_mdm.c: Move decl of TEMP_DIVISOR to reflect its
  2112.     life.
  2113.  
  2114. Sun Aug 30 18:37:15 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
  2115.  
  2116.     * _mpz_get_str: Use mpz_sizeinbase for computing out_len.
  2117.     * _mpz_get_str: Don't remove leading zeros.  Abort if there are some.
  2118.  
  2119. Wed Mar  4 17:56:56 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2120.  
  2121.     * gmp.h: Change definition of MP_INT to make the & before params
  2122.     optional.  Use typedef to define it.
  2123.     * mp.h: Use typedef to define MINT.
  2124.  
  2125. Tue Feb 18 14:38:39 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2126.  
  2127.     longlong.h (hppa umul_ppmm): Add missing semicolon.  Declare type
  2128.     of __w1 and __w0.
  2129.  
  2130. Fri Feb 14 21:33:21 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2131.  
  2132.     * longlong.h: Make default count_leading_zeros work for machines >
  2133.     32 bits.  Prepend `__' before local variables to avoid conflicts
  2134.     with users' variables.
  2135.  
  2136.     * mpn_dm_1.c: Remove udiv_qrnnd_preinv ...
  2137.     * gmp-impl.h: ... and put it here.
  2138.     * mpn_mod_1: Use udiv_qrnnd_preinv if it is faster than udiv_qrnnd.
  2139.  
  2140. Tue Feb 11 17:20:12 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2141.  
  2142.     * mpn_mul: Enhance base case by handling small multiplicands.
  2143.     * mpn_dm_1.c: Revert last change.
  2144.  
  2145. Mon Feb 10 11:55:15 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2146.  
  2147.     * mpn_dm_1.c: Don't define udiv_qrnnd_preinv unless needed.
  2148.  
  2149. Fri Feb  7 16:26:16 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2150.  
  2151.     * mpn_mul: Replace code for base case.
  2152.  
  2153. Thu Feb  6 15:10:42 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2154.  
  2155.     * mpn_dm_1.c (_mpn_divmod_1): Add code for avoiding division by
  2156.     pre-inverting divisor.
  2157.  
  2158. Sun Feb  2 11:10:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2159.  
  2160.     * longlong.h: Make __LLDEBUG__ work differently.
  2161.     (_IBMR2): Reinsert old code.
  2162.  
  2163. Sat Feb  1 16:43:00 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2164.  
  2165.     * longlong.h (#ifdef _IBMR2): Replace udiv_qrnnd with new code
  2166.     using floating point operations.  Don't define
  2167.     UDIV_NEEDS_NORMALIZATION any longer.
  2168.  
  2169. Fri Jan 31 15:09:13 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2170.  
  2171.     * longlong.h: Define UMUL_TIME and UDIV_TIME for most machines.
  2172.     * longlong.h (#ifdef __hppa): Define umul_ppmm.
  2173.  
  2174. Wed Jan 29 16:41:36 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2175.  
  2176.     * mpn_cmp: Only one length parameter, assume operand lengths are
  2177.     the same.  Don't require normalization.
  2178.     * mpq_cmp, mpz_add, mpz_sub, mpz_gcd, mpn_mul, mpn_sqrt: Change for
  2179.     new mpn_cmp definition.
  2180.  
  2181. Tue Jan 28 11:18:55 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2182.  
  2183.     * _mpz_get_str: Fix typo in comment.
  2184.  
  2185. Mon Jan 27 09:44:16 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2186.  
  2187.     * Makefile.in: Add new files.
  2188.  
  2189.     * mpn_dm_1.c: New file with function _mpn_divmod_1.
  2190.     * mpz_dm_ui.c (mpz_divmod_ui): Use _mpn_divmod_1.
  2191.     * mpz_div_ui: Likewise.
  2192.  
  2193.     * mpn_mod_1.c: New file with function _mpn_mod_1.
  2194.     * mpz_mod_ui: Use _mpn_mod_1.
  2195.  
  2196. Thu Jan 23 18:54:09 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2197.  
  2198.     Bug found by Paul Zimmermann (zimmermann@inria.inria.fr):
  2199.     * mpz_div_ui.c (mpz_div_ui), mpz_dm_ui.c (mpz_divmod_ui):
  2200.     Handle dividend == 0.
  2201.  
  2202. Wed Jan 22 12:02:26 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2203.  
  2204.     * mpz_pprime.c: Use "" for #include.
  2205.  
  2206. Sun Jan 19 13:36:55 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2207.  
  2208.     * mpn_rshiftci.c (header): Correct comment.
  2209.  
  2210. Wed Jan 15 18:56:04 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2211.  
  2212.     * mpz_powm, mpz_powm_ui (if (bsize > msize)): Do alloca (bsize + 1)
  2213.     to make space for ignored quotient at the end.  (The quotient might
  2214.     always be an extra limb.)
  2215.  
  2216. Tue Jan 14 21:28:48 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2217.  
  2218.     * mpz_powm_ui: Fix comment.
  2219.     * mpz_powm: Likewise.
  2220.  
  2221. Mon Jan 13 18:16:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2222.  
  2223.     * tests/Makefile.in: Prepend $(TEST_PREFIX) to Makefile target.
  2224.  
  2225. Sun Jan 12 13:54:28 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2226.  
  2227.     Fixes from Kazumaro Aoki:
  2228.     * mpz_out_raw: Take abs of size to handle negative values.
  2229.     * mpz_inp_raw: Reallocate before reading ptr from X.
  2230.     * mpz_inp_raw: Store, don't read, size to x->size.
  2231.  
  2232. Tue Jan  7 17:50:25 1992  Torbjorn Granlund  (tege@zevs.sics.se)
  2233.  
  2234.     * gmp.h, mp.h: Remove parameter names from prototypes.
  2235.  
  2236. Sun Dec 15 00:09:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2237.  
  2238.     * tests/Makefile.in: Prepend "./" to file names when executing
  2239.     tests.
  2240.  
  2241.     * Makefile.in: Fix many problems.
  2242.  
  2243. Sat Dec 14 01:00:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2244.  
  2245.     * mpn_sqrt.c: New file with _mpn_sqrt.
  2246.     * mpz_sqrt, mpz_sqrtrem, mpz_perfect_square_p: Use _mpn_sqrt.
  2247.     * msqrt.c: Delete.  Create from mpz_sqrtrem.c in Makefile.in.
  2248.     * mpz_do_sqrt.c: Delete.
  2249.     * Makefile.in: Update to reflect these changes.
  2250.  
  2251.     * Makefile.in, configure, configure.subr: New files
  2252.     (from bothner@cygnus.com).
  2253.     * dist-Makefile: Delete.
  2254.  
  2255.     * mpz_fac_ui: Fix comment.
  2256.  
  2257.     * mpz_random2: Rewrite a bit to make it possible for the most
  2258.     significant limb to be == 1.
  2259.  
  2260.     * mpz_pprime.c (mpz_probab_prime_p): Remove \t\n.
  2261.  
  2262. Fri Dec 13 23:10:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2263.  
  2264.     * mpz_do_sqrt: Simplify special case for U == 0.
  2265.     * m*sqrt*.c, mpz_perfsqr.c (mpz_perfect_square_p):
  2266.       Rename _mpz_impl_sqrt to _mpz_do_sqrt.
  2267.  
  2268. Fri Dec 13 12:52:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2269.  
  2270.     * gmp-impl.h (MPZ_TMP_INIT): Cast to the right type.
  2271.  
  2272. Thu Dec 12 22:17:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2273.  
  2274.     * mpn_add, mpn_sub, mpn_mul, mpn_div: Change type of several
  2275.     variables to mp_size.
  2276.  
  2277. Wed Dec 11 22:00:34 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2278.  
  2279.     * mpn_rshift.c: Fix header comments.
  2280.  
  2281. Mon Dec  9 17:46:10 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2282.  
  2283.     Released 1.2.
  2284.  
  2285.     * gmp-impl.h (MPZ_TMP_INIT): Cast alloca return value.
  2286.  
  2287.     * dist-Makefile: Add missing dependency for cre-mparam.
  2288.  
  2289.     * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
  2290.       mpz_mmod_ui.c, mpz_mdm_ui.c: Remove obsolete comment.
  2291.  
  2292.     * dist-Makefile (clean): clean in tests subdir too.
  2293.     * tests/Makefile: Define default values for ROOT and SUB.
  2294.  
  2295.     * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
  2296.     2 constraint.
  2297.  
  2298. Mon Nov 11 00:06:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2299.  
  2300.     * mpz_sizeinb.c (mpz_sizeinbase): Special code for size == 0.
  2301.  
  2302. Sat Nov  9 23:47:38 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2303.  
  2304.     Released 1.1.94.
  2305.  
  2306.     * dist-Makefile, Makefile, tests/Makefile: Merge tests into
  2307.     distribution.
  2308.  
  2309. Fri Nov  8 22:57:19 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2310.  
  2311.     * gmp.h: Don't use keyword `signed' for non-ANSI compilers.
  2312.  
  2313. Thu Nov  7 22:06:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2314.  
  2315.     * longlong.h: Cosmetic changes to keep it identical to gcc2 version
  2316.     of longlong.h.
  2317.     * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
  2318.     sub_ddmmss.
  2319.  
  2320. Mon Nov  4 00:36:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2321.  
  2322.     * mpn_mul: Fix indentation.
  2323.  
  2324.     * mpz_do_sqrt: Don't assume 32 bit limbs (had constant
  2325.     4294967296.0).
  2326.     * mpz_do_sqrt: Handle overflow in conversion from double returned
  2327.     by SQRT to mp_limb.
  2328.  
  2329.     * gmp.h: Add missing function definitions.
  2330.  
  2331. Sun Nov  3 18:25:25 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2332.  
  2333.     * mpz_pow_ui: Change type of `i' to int.
  2334.  
  2335.     * ChangeLog: Add change log entry.
  2336.     * ChangeLog: Add change log entry.
  2337.     * ChangeLog: Add change log entry.
  2338.     * ChangeLog: Add change log entry.
  2339.     * ChangeLog: Add change log entry.
  2340.     * ChangeLog: Add change log entry.
  2341.     * ChangeLog: Add change log entry.
  2342.     * ChangeLog: Add change log entry.
  2343. Stack overflow.
  2344.  
  2345.     * mpz_pow_ui.c: Fix typo in comment.
  2346.  
  2347.     * dist-Makefile: Create rpow.c from mpz_powm_ui.c.
  2348.     * mpz_powm_ui.c: Add code for rpow.
  2349.     * rpow.c: Delete this file.  The rpow function is now implemented
  2350.     in mpz_powm_ui.c.
  2351.  
  2352.     * mpz_fac_ui.c: New file.
  2353.     * gmp.h, dist-Makefile: Add stuff for mpz_fac_ui.
  2354.  
  2355.     Bug found by John Amanatides (amana@sasquatch.cs.yorku.ca):
  2356.     * mpz_powm_ui, mpz_powm: Call _mpn_mul in the right way, with
  2357.     the first argument not smaller than the second.
  2358.  
  2359. Tue Oct 29 13:56:55 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2360.  
  2361.     * cre-conv-tab.c (main), cre-mparam.c (main): Fix typo in output
  2362.     header text.
  2363.  
  2364. Mon Oct 28 00:35:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2365.  
  2366.     * mpz_random2: Handle size == 0.
  2367.  
  2368.     * gmp-impl.h (struct __mp_bases): Rename chars_per_limb_exactly to
  2369.     chars_per_bit_exactly, and change its definition.
  2370.     * cre-conv-tab.c (main): Output field according to its new
  2371.     definition.
  2372.     * mpz_out_str, _mpz_get_str, mpz_sizeinb, mout:
  2373.     Use chars_per_bit_exactly.
  2374.  
  2375.     * mpz_random2: Change the loop termination condition in order to
  2376.     get a large most significant limb with higher probability.
  2377.  
  2378.     * gmp.h: Add declaration of new mpz_random2 and mpz_get_si.
  2379.     * mpz_get_si.c: New file.
  2380.     * dist-Makefile: Add mpz_random2 and mpz_get_si.
  2381.  
  2382.     * mpz_sizeinb.c (mpz_sizeinbase): Special code for base being a
  2383.     power of 2, giving exact result.
  2384.  
  2385.     * mpn_mul: Fix MPN_MUL_VERIFY in various ways.
  2386.     * mpn_mul: New macro KARATSUBA_THRESHOLD.
  2387.     * mpn_mul (karatsuba's algorithm): Don't write intermediate results
  2388.     to prodp, use temporary pp instead.  (Intermediate results can be
  2389.     larger than the final result, possibly writing into hyperspace.)
  2390.     * mpn_mul: Make smarter choice between Karatsuba's algorithm and the
  2391.     shortcut algorithm.
  2392.     * mpn_mul: Fix typo, cy instead of xcy.  Unify carry handling code.
  2393.  
  2394. Sun Oct 27 19:57:32 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2395.  
  2396.     * mpn_mul: In non-classical case, choose Karatsuba's algorithm only
  2397.     when usize > 1.5 vsize.
  2398.  
  2399.     * mpn_mul: Break between classical and Karatsuba's algorithm at
  2400.     KARATSUBA_THRESHOLD, if defined.  Default to 8.
  2401.  
  2402.     * mpn_div: Kludge to fix stray memory read.
  2403.  
  2404. Sat Oct 26 20:06:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2405.  
  2406.     * mpz_gcdext: Handle a = b = 0.  Remove memory leakage by calling
  2407.     mpz_clear for all temporary variables.
  2408.  
  2409.     * mpz_gcd: Reduce w_bcnt in _mpn_lshift call to hold that
  2410.     function's argument constraints.  Compute wsize correctly.
  2411.  
  2412.     * mpz_gcd: Fix typo in comment.
  2413.  
  2414.     * memory.c (_mp_default_allocate, _mp_default_reallocate): Call
  2415.     abort if allocation fails, don't just exit.
  2416.  
  2417. Fri Oct 25 22:17:20 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2418.  
  2419.     * mpz_random2.c: New file.
  2420.  
  2421. Thu Oct 17 18:06:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2422.  
  2423.     Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
  2424.     * mpq_cmp: Take sign into account, don't just compare the
  2425.     magnitudes.
  2426.     * mpq_cmp: Call _mpn_mul in the right way, with the first argument
  2427.     not smaller than the second.
  2428.  
  2429. Wed Oct 16 19:27:32 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2430.  
  2431.     * mpz_random: Ensure the result is normalized.
  2432.  
  2433. Tue Oct 15 14:55:13 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2434.  
  2435.     * mpz_clrbit: Support non-ANSI compilers.
  2436.  
  2437. Wed Oct  9 18:03:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2438.  
  2439.     * longlong.h (68k add_ssaaaa, sub_ddmmss): Generalize constraints.
  2440.  
  2441. Tue Oct  8 17:42:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2442.  
  2443.     * mpz_mdm_ui: Add comments.
  2444.  
  2445.     * mpz_mdiv: Use MPZ_TMP_INIT instead of mpz_init.
  2446.     * mpz_init_ui: Change spacing and header comment.
  2447.  
  2448. Thu Oct  3 18:36:13 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2449.  
  2450.     * dist-Makefile: Prepend `./' before some filenames.
  2451.  
  2452. Sun Sep 29 14:02:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2453.  
  2454.     Released 1.1 (public).
  2455.  
  2456.     * mpz_com: New name of mpz_not.
  2457.     * dist-Makefile: Change mpz_not to mpz_com.
  2458.  
  2459. Tue Sep 24 12:44:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2460.  
  2461.     * longlong.h: Fix header comment.
  2462.  
  2463. Mon Sep  9 15:16:24 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2464.  
  2465.     Released 1.0.92.
  2466.  
  2467.     * mpn_mul.c (_mpn_mul): Handle leading zero limbs in non-Karatsuba
  2468.     case.
  2469.  
  2470.     * longlong.h (m68000 umul_ppmm): Clobber one register less by
  2471.     slightly rearranging the code.
  2472.  
  2473. Sun Sep  1 18:53:25 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2474.  
  2475.     * dist-Makefile (stamp-stddefh): Fix typo.
  2476.  
  2477. Sat Aug 31 20:41:31 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2478.  
  2479.     Released 1.0.91.
  2480.  
  2481.     * mpz_mdiv.c, mpz_mmod.c, mpz_mdm.c, mpz_mdiv_ui.c,
  2482.       mpz_mmod_ui.c, mpz_mdm_ui.c: New files and functions.
  2483.     * gmp.h, gmp.texi: Define the new functions.
  2484.  
  2485. Fri Aug 30 08:32:56 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2486.  
  2487.     * mpz_gcdext: Compute t argument from the other quantities at the
  2488.       end, of the function, not in the loop.  New feature: Allow t to be
  2489.       NULL.
  2490.  
  2491.     * mpz_add.c, mpz_sub.c, mpz_mul.c, mpz_powm.c, mpz_gcd.c: Don't
  2492.       include "mp.h".  Use type name `MP_INT' always.
  2493.  
  2494.     * dist-Makefile, mpz_cmp.c: Merge mcmp.c from mpz_cmp.c.
  2495.  
  2496. Wed Aug 28 00:45:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2497.  
  2498.     * dist-Makefile (documentation): Go via tmp.texi to avoid the
  2499.       creation of gmp.dvi if any errors occur.  Make tex read input
  2500.       from /dev/null.
  2501.  
  2502. Fri Aug 23 15:58:52 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2503.  
  2504.     * longlong.h (68020, i386): Don't define machine-dependent
  2505.       __umulsidi3 (so the default definition is used).
  2506.     * longlong.h (all machines): Cast all operands, sources and
  2507.       destinations, to `unsigned long int'.
  2508.     * longlong.h: Add gmicro support.
  2509.  
  2510. Thu Aug 22 00:28:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2511.  
  2512.     * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
  2513.     * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
  2514.     * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
  2515.     * _mpz_get_str.c: Add code to do division by big_base using only
  2516.       umul_qrnnd, if that is faster.  Use UMUL_TIME and UDIV_TIME to
  2517.       decide which variant to use.
  2518.  
  2519. Wed Aug 21 15:45:23 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2520.  
  2521.     * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
  2522.       nops.  (Saves two insn.)
  2523.  
  2524.     * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
  2525.       branch, and to permit input/output register overlap.
  2526.  
  2527.     * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
  2528.     * longlong.h (__29k__ umul_ppmm): Split asm instructions into two
  2529.       asm statements (gives better code if either the upper or lower
  2530.       part of the product is unused.
  2531.  
  2532. Tue Aug 20 17:57:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2533.  
  2534.     * _mpz_get_str.c (outside of functions): Remove
  2535.       num_to_ascii_lower_case and num_to_ascii_upper_case.  Use string
  2536.       constants in the function instead.
  2537.  
  2538. Mon Aug 19 00:37:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2539.  
  2540.     * cre-conv-tab.c (main): Output table in hex.  Output 4 fields, not
  2541.       3, for components 0 and 1.
  2542.  
  2543.     * gmp.h: Add declaration of mpq_neg.
  2544.  
  2545.     Released 1.0beta.13.
  2546.  
  2547.     * _mpz_set_str.c (mpz_set_str): Cast EOF and SPC to char before
  2548.       comparing to enum literals SPC and EOF.  This makes the code work
  2549.       for compilers where `char' is unsigned.  (Bug found by Brian
  2550.       Beuning).
  2551.  
  2552.     Released 1.0beta.12.
  2553.  
  2554.     * mpz_mod_ui: Remove references to quot.  Remove quot_ptr, quot_size
  2555.       declarations and assignment code.
  2556.  
  2557. Sun Aug 18 14:44:26 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2558.  
  2559.     * mpz_mod_ui: Handle dividend < 0.
  2560.  
  2561.     Released 1.0beta.11.
  2562.  
  2563.     * mpz_dm_ui, mpz_div_ui, mpz_mod_ui, sdiv: Make them share the same
  2564.       general structure, variable names, etc.
  2565.  
  2566.     * sdiv: Un-normalize the remainder in n1 before it is negated.
  2567.  
  2568.     * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
  2569.       udiv_qrnnd.
  2570.  
  2571.     * mpz_dm_ui.c (mpz_divmod_ui), mpz_div_ui.c (mpz_div_ui): Increment
  2572.       the quotient size if the dividend size is incremented.  (Bug found
  2573.       by Brian Beuning.)
  2574.  
  2575.     * mpz_mod_ui: Shift back the remainder, if UDIV_NEEDS_NORMALIZATION.
  2576.       (Bug found by Brian Beuning.)
  2577.  
  2578.     * mpz_mod_ui: Replace "digit" by "limb".
  2579.  
  2580.     * mpz_perfsqr.c (mpz_perfect_square_p): Disable second test case
  2581.       for non-32-bit machines (PP is hardwired for such machines).
  2582.     * mpz_perfsqr.c (outside of functions): Define PP value with an L.
  2583.  
  2584.     * mpn_mul.c (_mpn_mul): Add verification code that is activated if
  2585.       DEBUG is defined.  Replace "digit" by "limb".
  2586.     * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 4.): Normalize temp
  2587.       after the addition.
  2588.     * mpn_mul.c (_mpn_mul: Karatsuba's algorithm: 1.): Compare u0_size
  2589.       and v0_size, and according to the result, swap arguments in
  2590.       recursive call.  (Don't violate mpn_mul's own argument
  2591.       constraints.)
  2592.  
  2593. Fri Aug 16 13:47:12 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2594.  
  2595.     Released 1.0beta.10.
  2596.  
  2597.     * longlong.h (IBMR2): Add udiv_qrnnd.
  2598.  
  2599.     * mpz_perfsqr: Remove unused variables.
  2600.  
  2601.     * mpz_and (case for different signs): Initialize loop variable i!
  2602.  
  2603.     * dist-Makefile: Update automatically generated dependencies.
  2604.     * dist-Makefile (madd.c, msub.c, pow.c, mult.c, gcd.c): Add mp.h,
  2605.       etc to dependency file lists.
  2606.  
  2607.     * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
  2608.       `unsigned long int'.
  2609.     * longlong.h: Add `int' after `unsigned' and `long' everywhere.
  2610.  
  2611. Wed Aug 14 18:06:48 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2612.  
  2613.     * longlong.h: Add ARM, i860 support.
  2614.  
  2615.     * mpn_lshift, mpn_rshift, mpn_rshiftci: Rename *_word with *_limb.
  2616.  
  2617. Tue Aug 13 21:57:43 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2618.  
  2619.     * _mpz_get_str.c, _mpz_set_str.c, mpz_sizeinb.c (mpz_sizeinbase),
  2620.       mpz_out_str.c, mout.c: Remove declaration of __mp_bases.
  2621.     * gmp-impl.h: Put it here, and make it `const'.
  2622.     * cre-conv-tab.c (main): Make struct __mp_bases `const'.
  2623.  
  2624. Mon Aug 12 17:11:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2625.  
  2626.     * cre-conv-tab.c (main): Use %lu in printf for long ints.
  2627.  
  2628.     * dist-Makefile: Fix cre-* dependencies.
  2629.  
  2630.     * cre-conv-tab.c (main): Output field big_base_inverted.
  2631.  
  2632.     * gmp-impl.h (struct bases): New field big_base_inverted.
  2633.     * gmp-impl.h (struct bases): Change type of chars_per_limb_exactly
  2634.       to float (in order to keep the structure smaller).
  2635.  
  2636.     * mp.h, gmp.h: Change names of macros for avoiding multiple
  2637.       includes.
  2638.  
  2639. Fri Aug  9 18:01:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2640.  
  2641.     * _mpz_get_str: Only shift limb array if normalization_steps != 0
  2642.       (optimization).
  2643.  
  2644.     * longlong.h (sparc umul_ppmm): Use __asm__, not asm.
  2645.     * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
  2646.       and m1 (overlap between output and input operands did not work).
  2647.     * longlong.h: Add VAX, ROMP and HP-PA support.
  2648.     * longlong.h: Sort the machine dependent code in alphabetical order
  2649.       on the CPU name.
  2650.     * longlong.h: Hack comments.
  2651.  
  2652. Thu Aug  8 14:13:36 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2653.  
  2654.     Released 1.0beta.9.
  2655.  
  2656.     * longlong.h: Define BITS_PER_LONG to 32 if it's not already
  2657.       defined.
  2658.     * Define __BITS4 to BITS_PER_LONG / 4.
  2659.     * Don't assume 32 bit word size in "count_leading_zeros" C macro.
  2660.       Use __BITS4 and BITS_PER_LONG instead.
  2661.  
  2662.     * longlong.h: Don't #undef internal macros (reverse change of Aug 3).
  2663.  
  2664.     * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
  2665.       even for plain mc68000.
  2666.  
  2667.     * mpq_div: Flip the sign of the numerator *and* denominator of the
  2668.       result if the intermediate denominator is negative.
  2669.  
  2670.     * mpz_and.c, mpz_ior.c: Use MPN_COPY for all copying operations.
  2671.  
  2672.     * mpz_and.c: Compute the result size more conservatively.
  2673.     * mpz_ior.c: Likewise.
  2674.  
  2675.     * mpz_realloc: Never allocate zero space even if NEW_SIZE == 0.
  2676.  
  2677.     * dist-Makefile: Remove madd.c, msub.c, pow.c, mult.c, gcd.c from
  2678.       BSDMP_SRCS.
  2679.  
  2680.     * dist-Makefile: Create mult.c from mpz_mul.c.
  2681.     * mult.c: Delete this file.
  2682.  
  2683.     * _mpz_set_str: Normalize the result (for bases 2, 4, 8... it was
  2684.       not done properly if the input string had many leading zeros).
  2685.  
  2686. Sun Aug  4 16:54:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2687.  
  2688.     * dist-Makefile (gcd.c, pow.c, madd.c, msub.c): Make these targets
  2689.       work with VPATH and GNU MP.
  2690.  
  2691.     * mpz_gcd: Don't call mpz_set; inline its functionality.
  2692.  
  2693.     * mpq_mul, mpq_div: Fix several serious typos.
  2694.  
  2695.     * mpz_dmincl, mpz_div: Don't normalize the quotient if it's already
  2696.       zero.
  2697.  
  2698.     * mpq_neg.c: New file.
  2699.  
  2700.     * dist-Makefile: Remove obsolete dependencies.
  2701.  
  2702.     * mpz_sub: Fix typo.
  2703.  
  2704.     Bugs found by Pierre-Joseph Gailly (pjg@sunbim.be):
  2705.     * mpq_mul, mpq_div: Initialize tmp[12] variables even when the gcd
  2706.       is just 1.
  2707.     * mpz_gcd: Handle gcd(0,v) and gcd(u,0) in special cases.
  2708.  
  2709. Sat Aug  3 23:45:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2710.  
  2711.     * longlong.h: Clean up comments.
  2712.     * longlong.h: #undef internal macros.
  2713.  
  2714. Fri Aug  2 18:29:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2715.  
  2716.     * mpq_set_si, mpq_set_ui: Canonicalize 0/x to 0/1.
  2717.     * mpq_set_si, mpq_set_ui: Cosmetic formatting changes.
  2718.  
  2719.     * mpz_dmincl.c: Normalize the remainder before shifting it back.
  2720.  
  2721.     * mpz_dm_ui.c (mpz_divmod_ui): Handle rem == dividend.
  2722.  
  2723.     * mpn_div.c: Fix comment.
  2724.  
  2725.     * mpz_add.c, mpz_sub.c: Use __MP_INT (not MP_INT) for intermediate
  2726.       type, in order to work for both GNU and Berkeley functions.
  2727.  
  2728.     * dist-Makefile: Create gcd.c from mpz_gcd.c, pow.c from mpz_powm,
  2729.       madd.c from mpz_add.c, msub.c from mpz_sub.c.
  2730.       respectively.
  2731.     * pow.c, gcd.c, mpz_powmincl.c, madd.c, msub.c: Remove these.
  2732.     * mpz_powm.c, mpz_gcd.c, mpz_add.c, mpz_sub.c: #ifdef for GNU and
  2733.       Berkeley function name variants.
  2734.     * dist-Makefile: Add created files to "clean" target.
  2735.  
  2736. Tue Jul 16 15:19:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2737.  
  2738.     * mpq_get_den: No need for absolute value of the size, the
  2739.       denominator is always positive.
  2740.  
  2741.     * mpz_get_ui: If the operand is zero, return zero.  Don't read the
  2742.       limb array!
  2743.  
  2744.     * mpz_dmincl.c: Don't ignore the return value from _mpn_rshift, it
  2745.       is the size of the remainder.
  2746.  
  2747. Mon Jul 15 11:08:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2748.  
  2749.     * Several files: Remove unused variables and functions.
  2750.  
  2751.     * gmp-impl.h: Declare _mpz_impl_sqrt.
  2752.  
  2753.     * mpz_dm_ui (mpz_divmod_ui), sdiv: Shift back the remainder if
  2754.       UDIV_NEEDS_NORMALIZATION.  (Fix from Brian Beuning.)
  2755.  
  2756.     * mpz_dm_ui.c, sdiv: Replace *digit with *limb.
  2757.  
  2758.     * mpz_ior: Add missing else statement in -OP1 | -OP2 case.
  2759.     * mpz_ior: Add missing else statement in OP1 | -OP2 case.
  2760.     * mpz_ior: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
  2761.     * mpz_ior: Duplicate _mpz_realloc code.
  2762.  
  2763.     * mpz_and: Add missing else statement in -OP1 & -OP2 case.
  2764.     * mpz_and: Rewrite OP1 & -OP2 case.
  2765.     * mpz_and: Swap also OP1 and OP2 pointers in -OP1 & OP2 case.
  2766.  
  2767.     * mpz_gcdext: Loop in d1.size (not b->size).  (Fix from Brian
  2768.       Beuning.)
  2769.  
  2770.     * mpz_perfsqr: Fix argument order in _mpz_impl_sqrt call.  (Fix from
  2771.       Brian Beuning.)
  2772.  
  2773. Fri Jul 12 17:10:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2774.  
  2775.     * mpq_set.c, mpq_set_ui.c, mpq_set_si.c, mpq_inv.c,
  2776.       mpq_get_num.c, mpq_get_den.c, mpq_set_num.c, mpq_set_den.c:
  2777.       New files.
  2778.  
  2779.     * mpz_dmincl.c: Remove second re-allocation of rem->d.  It
  2780.       was never executed.
  2781.  
  2782.     * dist-Makefile: Use `-r' instead of `-x' for test for ranlib (as
  2783.       some unixes' test doesn't have the -r option).
  2784.  
  2785.     * *.*: Cast allocated pointers to the appropriate type (makes old C
  2786.       compilers happier).
  2787.  
  2788.     * cre-conv-tab.c (main): Divide max_uli by 2 and multiply again
  2789.       after conversion to double.  (Kludge for broken C compilers.)
  2790.  
  2791.     * dist-Makefile (stamp-stddefh): New target.  Test if "stddef.h"
  2792.       exists in the system and creates a minimal one if it does not
  2793.       exist.
  2794.     * cre-stddefh.c: New file.
  2795.     * dist-Makefile: Make libgmp.a and libmp.a depend on stamp-stddefh.
  2796.     * dist-Makefile (clean): Add some more.
  2797.     * gmp.h, mp.h: Unconditionally include "stddef.h".
  2798.  
  2799. Thu Jul 11 10:08:21 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2800.  
  2801.     * min: Do ungetc of last read character.
  2802.     * min.c: include stdio.h.
  2803.  
  2804.     * dist-Makefile: Go via tmp- files for cre* redirection.
  2805.     * dist-Makefile: Add tmp* to "clean" target.
  2806.  
  2807.     * dist-Makefile: Use LOCAL_CC for cre*, to simplyfy cross
  2808.       compilation.
  2809.  
  2810.     * gmp.h, mp.h: Don't define NULL here.
  2811.     * gmp-impl.h: Define it here.
  2812.  
  2813. Wed Jul 10 14:13:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2814.  
  2815.     * mpz_mod_2exp: Don't copy too much, overwriting most significant
  2816.       limb.
  2817.  
  2818.     * mpz_and, mpz_ior: Don't read op[12]_ptr from op[12] when
  2819.       reallocating res, if op[12]_ptr got their value from alloca.
  2820.  
  2821.     * mpz_and, mpz_ior: Clear up comments.
  2822.  
  2823.     * cre-mparam.c: Output parameters for `short int' and `int'.
  2824.  
  2825.     * mpz_and, mpz_ior: Negate negative op[12]_size in several places.
  2826.  
  2827. Tue Jul  9 18:40:30 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2828.  
  2829.     * gmp.h, mp.h: Test for _SIZE_T defined before typedef'ing size_t.
  2830.       (Fix for Sun lossage.)
  2831.  
  2832.     * gmp.h: Add declaration of mpq_clear.
  2833.  
  2834.     * dist-Makefile: Chack if "ranlib" exists, before using it.
  2835.     * dist-Makefile: Add mpz_sqrtrem.c and mpz_size.c.
  2836.     * mpz_powm: Fix typo, "pow" instead of "mpz_powm".
  2837.  
  2838. Fri Jul  5 19:08:09 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2839.  
  2840.     * move: Remove incorrect comment.
  2841.  
  2842.     * mpz_free, mpq_free: Rename to *_clear.
  2843.     * dist-Makefile: Likewise.
  2844.     * mpq_add, mpq_sub, mpq_mul, mpq_div: Likewise.
  2845.  
  2846.     * mpz_dmincl.c: Don't call "move", inline its functionality.
  2847.  
  2848. Thu Jul  4 00:06:39 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2849.  
  2850.     * Makefile: Include dist-Makefile.  Fix dist target to include
  2851.       dist-Makefile (with the name "Makefile" in the archive).
  2852.  
  2853.     * dist-Makefile: New file made from Makefile.  Add new mpz_...
  2854.       functions.
  2855.  
  2856.     * mpz_powincl.c New file for mpz_powm (Berkeley MP pow)
  2857.       functionality.  Avoids code duplication.
  2858.     * pow.c, mpz_powm.c: Include mpz_powincl.c
  2859.  
  2860.     * mpz_dmincl.c: New file containing general division code.  Avoids
  2861.       code duplication.
  2862.     * mpz_dm.c (mpz_divmod), mpz_mod.c (mpz_mod), mdiv.c (mdiv): Include
  2863.       mpz_dmincl.c.
  2864.  
  2865.     * _mpz_get_str: Don't call memmove, unless HAS_MEMMOVE is defined.
  2866.       Instead, write the overlapping memory copying inline.
  2867.  
  2868.     * mpz_dm_ui.c: New name for mpz_divmod_ui.c (SysV file name limit).
  2869.  
  2870.     * longlong.h: Don't use #elif.
  2871.     * mpz_do_sqrt.c: Likewise.
  2872.  
  2873.     * longlong.h: Use __asm__ instead of asm.
  2874.     * longlong.h (sparc udiv_qrnnd): Make it to one string over several
  2875.       lines.
  2876.  
  2877.     * longlong.h: Preend __ll_ to B, highpart, and lowpart.
  2878.  
  2879.     * longlong.h: Move array t in count_leading_zeros to the new file
  2880.       mp_clz_tab.c.  Rename the array __clz_tab.
  2881.     * All files: #ifdef for traditional C compatibility.
  2882.  
  2883. Wed Jul  3 11:42:14 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2884.  
  2885.     * mpz_and: Initialize res_ptr always (used to be initialized only
  2886.       when reallocating).
  2887.  
  2888.     * longlong.h (umul_ppmm [C variant]): Make __ul...__vh
  2889.       `unsigned int', and cast the multiplications.  This way
  2890.       compilers more easily can choose cheaper multiplication
  2891.       instructions.
  2892.  
  2893.     * mpz_mod_2exp: Handle input argument < modulo argument.
  2894.     * mpz_many: Make sure mp_size is the type for sizes, not int.
  2895.  
  2896.     * mpz_init, mpz_init_set*, mpq_init, mpq_add, mpq_sub, mpq_mul,
  2897.       mpq_div: Change mpz_init* interface.  Structure pointer as first
  2898.       arg to initialization function, no longer *return* struct.
  2899.  
  2900. Sun Jun 30 19:21:44 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2901.  
  2902.     * Rename mpz_impl_sqrt.c to mpz_do_sqrt.c to satisfy SysV 14
  2903.       character file name length limit.
  2904.  
  2905.     * Most files: Rename MINT to MP_INT.  Rename MRAT to MP_RAT.
  2906.     * mpz_sizeinb.c: New file with function mpz_sizeinbase.
  2907.     * mp_bases.c: New file, with array __mp_bases.
  2908.     * _mpz_get_str, _mpz_set_str: Remove struct bases, use extern
  2909.       __mp_bases instead.
  2910.     * mout, mpz_out_str: Use array __mp_bases instead of function
  2911.       _mpz_get_cvtlen.
  2912.     * mpz_get_cvtlen.c: Remove.
  2913.     * Makefile: Update.
  2914.  
  2915. Sat Jun 29 21:57:28 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2916.  
  2917.     * longlong.h (__sparc8__ umul_ppmm): Insert 3 nop:s for wr delay.
  2918.     * longlong.h (___IBMR2__): Define umul_ppmm, add_ssaaaa, sub_ddmmss.
  2919.     * longlong.h (__sparc__): Don't call .umul; expand asm instead.
  2920.       Don't define __umulsidi3 (i.e. use default definition).
  2921.  
  2922. Mon Jun 24 17:37:23 1991  Torbjorn Granlund  (tege@amon.sics.se)
  2923.  
  2924.     * _mpz_get_str.c (num_to_ascii_lower_case, num_to_ascii_upper_case):
  2925.       Swap 't' and 's'.
  2926.  
  2927. Sat Jun 22 13:54:01 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2928.  
  2929.     * mpz_gcdext.c: New file.
  2930.  
  2931.     * mpn_mul: Handle carry and unexpected operand sizes in last
  2932.       additions/subtractions.  (Bug trigged when v1_size == 1.)
  2933.  
  2934.     * mp*_alloc*: Rename functions to mp*_init* (files to mp*_iset*.c).
  2935.     * mpq_*: Call mpz_init*.
  2936.  
  2937.     * mpz_pow_ui, rpow: Use _mpn_mul instead of mult.  Restructure.
  2938.  
  2939. Wed May 29 20:32:33 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2940.  
  2941.     * mpz_get_cvtlen: multiply by size.
  2942.  
  2943. Sun May 26 15:01:15 1991  Torbjorn Granlund  (tege@bella.nada.kth.se)
  2944.  
  2945.     Alpha-release 0.95.
  2946.  
  2947.     Fixes from Doug Lea (dl@g.oswego.edu):
  2948.     * mpz_mul_ui: Loop to MULT_SIZE (not PROD_SIZE).  Adjust PROD_SIZE
  2949.       correctly.
  2950.     * mpz_div: Prepend _ to mpz_realloc.
  2951.     * mpz_set_xs, mpz_set_ds: Fix typos in function name.
  2952.  
  2953. Sat May 25 22:51:16 1991  Torbjorn Granlund  (tege@bella.nada.kth.se)
  2954.  
  2955.     * mpz_divmod_ui: New function.
  2956.  
  2957.     * sdiv: Make the sign of the remainder correct.
  2958.  
  2959. Thu May 23 15:28:24 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2960.  
  2961.     * Alpha-release 0.94.
  2962.  
  2963.     * mpz_mul_ui: Include longlong.h.
  2964.  
  2965.     * mpz_perfsqr.c (mpz_perfect_square_p): Call _mpz_impl_sqrt instead
  2966.       of msqrt.
  2967.  
  2968.     * mpz_impl_sqrt: Don't call "move", inline its functionality.
  2969.  
  2970.     * mdiv: Use MPN_COPY instead of memcpy.
  2971.     * rpow, mpz_mul, mpz_mod_2exp: Likewise.
  2972.     * pow.c: Likewise, and fix bug in the size arg.
  2973.  
  2974.     * xtom: Don't use mpz_alloc, inline needed code instead.  Call
  2975.       _mpz_set_str instead of mpz_set_str.
  2976.  
  2977.     * Makefile: Make two libraries, libmp.a and libgmp.a.
  2978.  
  2979. Thu May 22 20:25:29 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2980.  
  2981.     * Add manual to distribution.
  2982.     * Fold in many missing routines descibed in the manual.
  2983.     * Update Makefile.
  2984.  
  2985. Wed May 22 13:48:46 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2986.  
  2987.     * mpz_set_str: Make it handle 0x prefix OK.
  2988.  
  2989. Sat May 18 18:31:02 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2990.  
  2991.     * memory.c (_mp_default_reallocate): Swap OLD_SIZE and NEW_SIZE
  2992.       arguments.
  2993.     * mpz_realloc (_mpz_realloc): Swap in call to _mp_reallocate_func.
  2994.     * min: Likewise.
  2995.  
  2996. Thu May 16 20:43:05 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  2997.  
  2998.     * memory.c: Make the default allocations functions global.
  2999.     * mp_set_fns (mp_set_memory_functions): Make a NULL pointer mean the
  3000.       default memory function.
  3001.  
  3002. Wed May  8 20:02:42 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3003.  
  3004.     * mpz_div: Handle DEN the same as QUOT correctly by copying DEN->D
  3005.       even if no normalization is needed.
  3006.     * mpz_div: Rework reallocation scheme, to avoid excess copying.
  3007.  
  3008.     * mpz_sub_ui.c, mpz_add_ui.c: New files.
  3009.  
  3010.     * mpz_cmp.c, mpz_cmp_ui.c: New files.
  3011.  
  3012.     * mpz_mul_2exp: Handle zero input MINT correctly.
  3013.  
  3014.     * mpn_rshiftci:  Don't handle shift counts > BITS_PER_MP_DIGIT.
  3015.  
  3016.     * mpz_out_raw.c, mpz_inp_raw.c: New files for raw I/O.
  3017.  
  3018. Tue May  7 15:44:58 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3019.  
  3020.     * mpn_rshift: Don't handle shift counts > BITS_PER_MP_DIGIT.
  3021.     * mpz_div_2exp: Don't call _mpn_rshift with cnt > BITS_PER_MP_DIGIT.
  3022.     * gcd, mpz_gcd: Likewise.
  3023.  
  3024.     * gcd, mpz_gcd: Handle common 2 factors correctly.
  3025.  
  3026. Mon May  6 20:22:59 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3027.  
  3028.     * gmp-impl.h (MPN_COPY): Inline a loop instead of calling memcpy.
  3029.  
  3030.     * gmp-impl.h, mpz_get_str, rpow: Swap DST and SRC in TMPCOPY* macros.
  3031.  
  3032. Sun May  5 15:16:23 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3033.  
  3034.     * mpz_div: Remove test for QUOT == 0.
  3035.  
  3036. Sun Apr 28 20:21:04 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3037.  
  3038.     * pow: Don't make MOD normalization in place, as it's a bad idea to
  3039.       write on an input parameter.
  3040.     * pow: Reduce BASE if it's > MOD.
  3041.     * pow, mult, mpz_mul: Simplify realloc code.
  3042.  
  3043. Sat Apr 27 21:03:11 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3044.  
  3045.     * Install multplication using Karatsuba's algorithm as default.
  3046.  
  3047. Fri Apr 26 01:03:57 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3048.  
  3049.     * msqrt: Store in ROOT even for U==0, to make msqrt(0) defined.
  3050.  
  3051.     * mpz_div_2exp.c, mpz_mul_2exp.c: New files for shifting right and
  3052.       left, respectively.
  3053.     * gmp.h: Add definitions for mpz_div_2exp and mpz_mul_2exp.
  3054.  
  3055.     * mlshift.c, mrshift.c: Remove.
  3056.  
  3057. Wed Apr 24 21:39:22 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3058.  
  3059.     * mpn_mul: Check only for m2_size == 0 in function header.
  3060.  
  3061. Mon Apr 22 01:31:57 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3062.  
  3063.     * karatsuba.c: New file for Karatsuba's multplication algorithm.
  3064.  
  3065.     * mpz_random, mpz_init, mpz_mod_2exp: New files and functions.
  3066.  
  3067.     * mpn_cmp: Fix header comment.
  3068.  
  3069. Sun Apr 21 00:10:44 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3070.  
  3071.     * pow: Switch off initial base reduction.
  3072.  
  3073. Sat Apr 20 22:06:05 1991  Torbjorn Granlund  (tege@echnaton.sics.se)
  3074.  
  3075.     * mpz_get_str: Don't generate initial zeros for initial word.
  3076.       Used to write outside of allocated storage.
  3077.  
  3078. Mon Apr 15 15:48:08 1991  Torbjorn Granlund  (tege@zevs.sics.se)
  3079.  
  3080.     * _mpz_realloc: Make it accept size in number of mp_digits.
  3081.     * Most functions: Use new _mpz_realloc definition.
  3082.  
  3083.     * mpz_set_str: Remove calls _mp_free_func.
  3084.  
  3085.     * Most functions: Rename mpn_* to _mpn_*.  Rename mpz_realloc to
  3086.       _mpz_realloc.
  3087.     * mpn_lshift: Redefine _mpn_lshift to only handle small shifts.
  3088.     * mdiv, mpz_div, ...: Changes for new definition of _mpn_lshift.
  3089.     * msqrt, mp*_*shift*: Define cnt as unsigned (for speed).
  3090.  
  3091. Sat Apr  6 14:05:16 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
  3092.  
  3093.     * mpn_mul: Multiply by the first digit in M2 in a special
  3094.       loop instead of zeroing the product area.
  3095.  
  3096.     * mpz_abs.c: New file.
  3097.  
  3098.     * sdiv: Implement as mpz_div_si for speed.
  3099.  
  3100.     * mpn_add: Make it work for second source operand == 0.
  3101.  
  3102.     * msub: Negate the correct operand, i.e. V before swapping, not
  3103.       the smaller of U and V!
  3104.     * madd, msub: Update abs_* when swapping operands, and not after
  3105.       (optimization).
  3106.  
  3107. Fri Apr  5 00:19:36 1991  Torbjorn Granlund  (tege@black.nada.kth.se)
  3108.  
  3109.     * mpn_sub: Make it work for subtrahend == 0.
  3110.  
  3111.     * madd, msub: Rewrite to minimize mpn_cmp calls.  Ensure
  3112.       mpn_cmp is called with positive sizes (used to be called
  3113.       incorrectly with negative sizes sometimes).
  3114.  
  3115.     * msqrt: Make it divide by zero if fed with a negative number.
  3116.     * Remove if statement at end of precision calculation that was
  3117.       never true.
  3118.  
  3119.     * itom, mp.h: The argument is of type short, not int.
  3120.  
  3121.     * mpz_realloc, gmp.h: Make mpz_realloc return the new digit pointer.
  3122.  
  3123.     * mpz_get_str.c, mpz_set_str.c, mpz_new_str.c: Don't include mp.h.
  3124.  
  3125.     * Add COPYING to distribution.
  3126.  
  3127.     * mpz_div_ui.c, mpz_div_si.c, mpz_new_ui.c, mpz_new_si.c: New files.
  3128.  
  3129. Fri Mar 15 00:26:29 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
  3130.  
  3131.     * Add Copyleft headers to all files.
  3132.  
  3133.     * mpn_mul.c, mpn_div.c: Add header comments.
  3134.     * mult.c, mdiv.c: Update header comments.
  3135.  
  3136.     * mpq_add.c, mpq_sub.c, mpq_div.c, mpq_new.c, mpq_new_ui.c,
  3137.       mpq_free.c: New files for rational arithmetics.
  3138.  
  3139.     * mpn_lshift.c: Avoid writing the most significant word if it is 0.
  3140.  
  3141.     * mdiv.c: Call mpn_lshift for the normalization.
  3142.     * mdiv.c: Remove #ifdefs.
  3143.  
  3144.     * Makefile: Add ChangeLog to DISTFILES.
  3145.  
  3146.     * mpn_div.c: Make the add_back code work (by removing abort()).
  3147.     * mpn_div.c: Make it return if the quotient is size as compared
  3148.       with the difference NSIZE - DSIZE.  If the stored quotient is
  3149.       larger than that, return 1, otherwise 0.
  3150.     * gmp.h: Fix mpn_div declaration.
  3151.     * mdiv.c: Adopt call to mpn_div.
  3152.     * mpz_div.c: New file (developed from mdiv.c).
  3153.  
  3154.     * README: Update routine names.
  3155.  
  3156. Thu Mar 14 18:45:28 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
  3157.  
  3158.     * mpq_mul.c: New file for rational multplication.
  3159.  
  3160.     * gmp.h: Add definitions for rational arithmetics.
  3161.  
  3162.     * mpn_div: Kludge the case where the high numerator digit > the
  3163.       high denominator digit.  (This code is going to be optimized later.)
  3164.  
  3165.     * New files: gmp.h for GNU specific functions, gmp-common.h for
  3166.       definitions common for mp.h and gmp.h.
  3167.  
  3168.     * Ensure mp.h just defines what BSD mp.h defines.
  3169.  
  3170.     * pow.c: Fix typo for bp allocation.
  3171.  
  3172.     * Rename natural number functions to mpn_*, integer functions to
  3173.       mpz_*.
  3174.  
  3175. Tue Mar  5 18:47:04 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
  3176.  
  3177.     * mdiv.c (_mp_divide, case 2): Change test for estimate of Q from
  3178.       "n0 >= r" to "n0 > r".
  3179.  
  3180.     * msqrt: Tune the increasing precision scheme, to do fewer steps.
  3181.  
  3182. Tue Mar  3 18:50:10 1991  Torbjorn Granlund  (tege@musta.nada.kth.se)
  3183.  
  3184.     * msqrt: Use the low level routines.  Use low precision in the
  3185.     beginning, and increase the precision as the result converges.
  3186.     (This optimization gave a 6-fold speedup.)
  3187.  
  3188. Local Variables:
  3189. mode: indented-text
  3190. left-margin: 8
  3191. fill-column: 75
  3192. version-control: never
  3193. End:
  3194.